From ff2fbacc427d203002f793822f1278698034e647 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Sun, 11 Jul 2004 02:59:42 +0000
Subject: [PATCH] Fix trim_trailing_separator() to not trim c:\ nor \\network\
 on Win32.

---
 src/port/path.c | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/src/port/path.c b/src/port/path.c
index 7621e39a0d6..8646eacc064 100644
--- a/src/port/path.c
+++ b/src/port/path.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/port/path.c,v 1.21 2004/07/10 22:58:42 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/port/path.c,v 1.22 2004/07/11 02:59:42 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -389,7 +389,26 @@ static void
 trim_trailing_separator(char *path)
 {
 	char *p = path + strlen(path);
-	
+
+#ifdef WIN32
+    /* Skip over network and drive specifiers for win32 */
+    if (strlen(path) >= 2)
+    {
+        if (IS_DIR_SEP(path[0]) && IS_DIR_SEP(path[1]))
+        {
+        	path += 2;
+			while (*path && !IS_DIR_SEP(*path))
+				path++;
+		}
+        else if (isalpha(path[0]) && path[1] == ':')
+        {
+            path++;
+	        if (IS_DIR_SEP(path[1]))
+    	    	path++;
+    	}
+    }
+#endif
+
 	/* trim off trailing slashes */
 	if (p > path)
 		for (p--; p > path && IS_DIR_SEP(*p); p--)
-- 
GitLab