* 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 $
  *
  *-------------------------------------------------------------------------
  */
                    /* %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 */
 
  *
  *
  * 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 $
  *
  *-------------------------------------------------------------------------
  */
                    /* %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 */