aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/commands/dbcommands.c10
-rw-r--r--src/bin/psql/command.c16
2 files changed, 20 insertions, 6 deletions
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c
index 516c900c41a..32c4c459c9a 100644
--- a/src/backend/commands/dbcommands.c
+++ b/src/backend/commands/dbcommands.c
@@ -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)
{
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 57aaad06558..199b86d0041 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -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);
}