When expanding %p in archive_command or restore_command, translate

slashes to backslashes #ifdef WIN32.  This is to cope with the fact
that Windows seems exceedingly unfriendly to slashes in shell commands,
as per recent discussion.
This commit is contained in:
Tom Lane 2004-08-09 16:26:06 +00:00
parent 1109959907
commit 35f539b481
2 changed files with 22 additions and 2 deletions

View File

@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.157 2004/08/08 03:22:08 tgl Exp $
* $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.158 2004/08/09 16:26:01 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -1962,7 +1962,17 @@ RestoreArchivedFile(char *path, const char *xlogfname,
/* %p: full path of target file */
sp++;
StrNCpy(dp, xlogpath, endp-dp);
#ifndef WIN32
dp += strlen(dp);
#else
/* On Windows, change / to \ in the substituted path */
while (*dp)
{
if (*dp == '/')
*dp = '\\';
dp++;
}
#endif
break;
case 'f':
/* %f: filename of desired file */

View File

@ -19,7 +19,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/postmaster/pgarch.c,v 1.5 2004/08/05 23:32:10 tgl Exp $
* $PostgreSQL: pgsql/src/backend/postmaster/pgarch.c,v 1.6 2004/08/09 16:26:06 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -436,7 +436,17 @@ pgarch_archiveXlog(char *xlog)
/* %p: full path of source file */
sp++;
StrNCpy(dp, pathname, endp-dp);
#ifndef WIN32
dp += strlen(dp);
#else
/* On Windows, change / to \ in the substituted path */
while (*dp)
{
if (*dp == '/')
*dp = '\\';
dp++;
}
#endif
break;
case 'f':
/* %f: filename of source file */