diff --git a/src/port/path.c b/src/port/path.c index 7621e39a0d6f4e10a3543ba1f01086a88f1156db..8646eacc0644b3456072963cd6a3c3f3cf244e8b 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--)