mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-12 18:34:36 +08:00
Handle cp, rm, and exec for Win32.
This commit is contained in:
parent
9c264975d5
commit
9bad936f67
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user