Tests for COMSPEC in the right place and supply a reasonable shell
authorBruce Momjian <bruce@momjian.us>
Sat, 6 Nov 2004 04:29:40 +0000 (04:29 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 6 Nov 2004 04:29:40 +0000 (04:29 +0000)
default on Win32.

src/bin/psql/command.c

index ef70d3b62ca7eec5ae31bab4e77ab3ea68ed66da..e1a76001ed19b38e2c1b2715f8becf98678c5cd7 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2004, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.130 2004/11/04 22:25:14 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.131 2004/11/06 04:29:40 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "command.h"
@@ -1525,7 +1525,11 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 
 
 
+#ifndef WIN32
 #define DEFAULT_SHELL "/bin/sh"
+#else
+#define DEFAULT_SHELL "c:/windows/system32/cmd.exe"
+#endif
 
 static bool
 do_shell(const char *command)
@@ -1537,11 +1541,11 @@ do_shell(const char *command)
        char       *sys;
        const char *shellName = NULL;
 
+       shellName = getenv("SHELL");
 #ifdef WIN32
-       shellName = getenv("COMSPEC");
-#endif
        if (shellName == NULL)
-           shellName = getenv("SHELL");
+           shellName = getenv("COMSPEC");
+#endif
        if (shellName == NULL)
            shellName = DEFAULT_SHELL;