]> sourceware.org Git - newlib-cygwin.git/commitdiff
* cygpath.cc (do_pathconv): Only skip \\?\ prefix if it's really
authorCorinna Vinschen <corinna@vinschen.de>
Wed, 15 Apr 2009 10:00:40 +0000 (10:00 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Wed, 15 Apr 2009 10:00:40 +0000 (10:00 +0000)
given.  Do backslash to slash conversion for mixed paths after
handling \\?\ prefix.

winsup/utils/ChangeLog
winsup/utils/cygpath.cc

index 0cb88fb23406f37741c13c133d8bbeec36c418fa..635cbdbb73adb84cc9cb5f07edd8c7996245fb1a 100644 (file)
@@ -1,3 +1,9 @@
+2009-04-15  Corinna Vinschen  <corinna@vinschen.de>
+
+       * cygpath.cc (do_pathconv): Only skip \\?\ prefix if it's really
+       given.  Do backslash to slash conversion for mixed paths after
+       handling \\?\ prefix.
+
 2009-04-13  Dave Korn  <dave.korn.cygwin@gmail.com>
 
        * Makefile.in (dumper.exe):  Add -lz to ALL_LDFLAGS.
index 0e60e269ed27132a3130d345ef3b9bc44eb79216..ade86f7f289dba024f5951203a5b107f2353ba3b 100644 (file)
@@ -744,17 +744,20 @@ do_pathconv (char *filename)
            buf = get_short_name (buf);
          if (longname_flag)
            buf = get_long_name (buf, len);
-         if (mixed_flag)
-           buf = get_mixed_name (buf);
-         len = 4;
-         if (strncmp (buf, "\\\\?\\UNC\\", 8) == 0)
-           len = 6;
-         if (strlen (buf) < MAX_PATH + len)
+         if (strncmp (buf, "\\\\?\\", 4) == 0)
            {
-             buf += len;
-             if (len == 6)
-               *buf = '\\';
+             len = 4;
+             if (strncmp (buf + 4, "UNC\\", 4) == 0)
+               len = 6;
+             if (strlen (buf) < MAX_PATH + len)
+               {
+                 buf += len;
+                 if (len == 6)
+                   *buf = '\\';
+               }
            }
+         if (mixed_flag)
+           buf = get_mixed_name (buf);
        }
     }
 
This page took 0.035332 seconds and 5 git commands to generate.