]> granicus.if.org Git - postgresql/commitdiff
The win32 port backend will require the functionality provided by
authorBruce Momjian <bruce@momjian.us>
Tue, 9 Mar 2004 04:49:02 +0000 (04:49 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 9 Mar 2004 04:49:02 +0000 (04:49 +0000)
canonicalize_path. Patch moves it from initdb.c to port/path.c.

Claudio Natoli

src/bin/initdb/initdb.c
src/include/port.h
src/port/path.c

index 5a9139cf106ace84ab07e12cc528e6297758db33..cb44f7d0ad3c8286a16a91076ca56dd79a04b625 100644 (file)
@@ -43,7 +43,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  * Portions taken from FreeBSD.
  *
- * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.22 2004/02/02 00:11:31 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.23 2004/03/09 04:49:02 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -151,7 +151,6 @@ char           *pgpath;
 /* forward declare all our functions */
 static bool rmtree(char *, bool);
 static void exit_nicely(void);
-static void canonicalize_path(char *);
 #ifdef WIN32
 static char *expanded_path(char *);
 #else
@@ -288,31 +287,6 @@ rmtree(char *path, bool rmtopdir)
 }
 
 
-/*
- * make all paths look like unix, with forward slashes
- * also strip any trailing slash.
- *
- * The Windows command processor will accept suitably quoted paths
- * with forward slashes, but barfs badly with mixed forward and back
- * slashes. Removing the trailing slash on a path means we never get
- * ugly double slashes.  Don't remove a leading slash, though.
- */
-static void
-canonicalize_path(char *path)
-{
-       char       *p;
-
-       for (p = path; *p; p++)
-       {
-#ifdef WIN32
-               if (*p == '\\')
-                       *p = '/';
-#endif
-       }
-       if (p > path+1 && *--p == '/')
-               *p = '\0';
-}
-
 /*
  * make a copy of the array of lines, with token replaced by replacement
  * the first time it occurs on each line.
index d96ef4a6d16dd389e34ea707d8549d9c46ee0737..fefdff117ec1a66654648d71292d5560bd42d3d8 100644 (file)
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/port.h,v 1.20 2004/02/25 19:41:23 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/port.h,v 1.21 2004/03/09 04:49:02 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -21,6 +21,7 @@
 extern bool is_absolute_path(const char *filename);
 extern char *first_path_separator(const char *filename);
 extern char *last_path_separator(const char *filename);
+extern void canonicalize_path(char *path);
 extern char *get_progname(char *argv0);
 
 /* Portable delay handling */
index c093efa4bc4ab67eaca83e18ab16a7ddf8f768ce..3f672d5b22e72789646193c5a7a4e51df5ec2c87 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/port/path.c,v 1.4 2003/11/29 19:52:13 pgsql Exp $
+ *       $PostgreSQL: pgsql/src/port/path.c,v 1.5 2004/03/09 04:49:02 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -84,6 +84,32 @@ last_path_separator(const char *filename)
 }
 
 
+/*
+ * make all paths look like unix, with forward slashes
+ * also strip any trailing slash.
+ *
+ * The Windows command processor will accept suitably quoted paths
+ * with forward slashes, but barfs badly with mixed forward and back
+ * slashes. Removing the trailing slash on a path means we never get
+ * ugly double slashes.  Don't remove a leading slash, though.
+ */
+void
+canonicalize_path(char *path)
+{
+       char       *p;
+
+       for (p = path; *p; p++)
+       {
+#ifdef WIN32
+               if (*p == '\\')
+                       *p = '/';
+#endif
+       }
+       if (p > path+1 && *--p == '/')
+               *p = '\0';
+}
+
+
 /*
  * Extracts the actual name of the program as called.
  */