Handle cp, rm, and exec for Win32.
authorBruce Momjian <bruce@momjian.us>
Fri, 4 Apr 2003 20:40:45 +0000 (20:40 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 4 Apr 2003 20:40:45 +0000 (20:40 +0000)
src/backend/commands/dbcommands.c
src/bin/psql/command.c

index 516c900c41a4ad8b927966109555e9c20f989be4..32c4c459c9a6cf4a20ca0fe1f8214f06ea3ca118 100644 (file)
@@ -9,7 +9,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.110 2003/01/27 00:46:41 tgl Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.111 2003/04/04 20:40:44 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -302,7 +302,11 @@ createdb(const CreatedbStmt *stmt)
        }
 
        /* Copy the template database to the new location */
+#ifndef WIN32
        snprintf(buf, sizeof(buf), "cp -r '%s' '%s'", src_loc, target_dir);
+#else
+       snprintf(buf, sizeof(buf), "xcopy /e /i /q '%s' '%s'", src_loc, target_dir);
+#endif
 
        if (system(buf) != 0)
        {
@@ -751,7 +755,11 @@ remove_dbdirs(const char *nominal_loc, const char *alt_loc)
                }
        }
 
+#ifndef WIN32
        snprintf(buf, sizeof(buf), "rm -rf '%s'", target_dir);
+#else
+       snprintf(buf, sizeof(buf), "rmdir /s /q \"%s\"", target_dir);
+#endif
 
        if (system(buf) != 0)
        {
index 57aaad065588bc1979d458e0f02161b27708c0c1..199b86d0041c6cbdced36da798dfcafe73c0d6aa 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000-2002 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.94 2003/03/20 06:43:35 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.95 2003/04/04 20:40:45 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "command.h"
@@ -66,8 +66,6 @@ static bool do_edit(const char *filename_arg, PQExpBuffer query_buf);
 static bool do_connect(const char *new_dbname, const char *new_user);
 static bool do_shell(const char *command);
 
-
-
 /*----------
  * HandleSlashCmds:
  *
@@ -1515,7 +1513,11 @@ editFile(const char *fname)
        sys = malloc(strlen(editorName) + strlen(fname) + 10 + 1);
        if (!sys)
                return false;
-       sprintf(sys, "exec  %s '%s'", editorName, fname);
+       sprintf(sys, 
+#ifndef WIN32
+               "exec "
+#endif
+               "%s '%s'", editorName, fname);
        result = system(sys);
        if (result == -1)
                psql_error("could not start editor %s\n", editorName);
@@ -1944,7 +1946,11 @@ do_shell(const char *command)
                        else
                                exit(EXIT_FAILURE);
                }
-               sprintf(sys, "exec %s", shellName);
+               sprintf(sys, 
+#ifndef WIN32
+                       "exec "
+#endif
+                       "%s", shellName);
                result = system(sys);
                free(sys);
        }