mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Put back canonicalization of PGDATA environment variable.
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/port/path.c,v 1.23 2004/07/11 21:34:04 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/port/path.c,v 1.24 2004/07/12 19:15:14 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -88,18 +88,17 @@ last_dir_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.
|
||||
* Make all paths look like Unix
|
||||
*/
|
||||
void
|
||||
canonicalize_path(char *path)
|
||||
{
|
||||
#ifdef WIN32
|
||||
/*
|
||||
* The Windows command processor will accept suitably quoted paths
|
||||
* with forward slashes, but barfs badly with mixed forward and back
|
||||
* slashes.
|
||||
*/
|
||||
char *p;
|
||||
|
||||
for (p = path; *p; p++)
|
||||
@ -107,8 +106,19 @@ canonicalize_path(char *path)
|
||||
if (*p == '\\')
|
||||
*p = '/';
|
||||
}
|
||||
/* In Win32, if you do:
|
||||
* prog.exe "a b" "\c\d\"
|
||||
* the system will pass \c\d" as argv[2].
|
||||
*/
|
||||
if (p > path && *(p-1) == '"')
|
||||
*(p-1) = '/';
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Removing the trailing slash on a path means we never get
|
||||
* ugly double slashes. Don't remove a leading slash, though.
|
||||
* Also, Win32 can't stat() a directory with a trailing slash.
|
||||
*/
|
||||
trim_trailing_separator(path);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user