Add remove duplicate slashes to canonicalize_path()
The following applied patch removes duplicate slashes from the path in
canonicalize_path(). It preserve double leading slashes on Win32.
e.g. ////a////b => /a/b
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Attachments:
/bjm/difftext/plainDownload+28-9
Bruce Momjian wrote:
*** 247,255 ****
int len = strlen(path);if (len > 2 && strcmp(path + len - 2, "/.") == 0)
- {
trim_directory(path);
- }
else if (len > 3 && strcmp(path + len - 3, "/..") == 0)
{
trim_directory(path);
As a matter of style I hate this. Stripping the braces from a branch of
an if statement on the ground that it only has one statement, when other
branches might be multi-statement blocks is just downright ugly. I
thought the outcome of a recent discussion was that we would stop doing
that, at least automatically from pgindent, but I don't see any reason
to do it manually either.
cheers
andrew
Andrew Dunstan wrote:
Bruce Momjian wrote:
*** 247,255 ****
int len = strlen(path);if (len > 2 && strcmp(path + len - 2, "/.") == 0)
- {
trim_directory(path);
- }
else if (len > 3 && strcmp(path + len - 3, "/..") == 0)
{
trim_directory(path);As a matter of style I hate this. Stripping the braces from a branch of
an if statement on the ground that it only has one statement, when other
branches might be multi-statement blocks is just downright ugly. I
thought the outcome of a recent discussion was that we would stop doing
that, at least automatically from pgindent, but I don't see any reason
to do it manually either.
Right, we aren't doing it automatically. Manually it seemed OK. What
is our consensus on this?
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Bruce Momjian schrieb:
The following applied patch removes duplicate slashes from the path in
canonicalize_path(). It preserve double leading slashes on Win32.e.g. ////a////b => /a/b
snip
* o make Win32 path use Unix slashes
* o remove trailing quote on Win32
* o remove trailing slash
* o remove trailing '.'
* o process trailing '..' ourselves
At the first glance I thought this will break Win95 (via cygwin), but it
really is ok, 'cause all the paths go through cygwin.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/