Ticket #53: vfs.patch
| File vfs.patch, 1.4 kB (added by mdmkolbe, 2 years ago) |
|---|
-
plugins/filesys/vfs/vfs.cpp
22 22 #include <errno.h> 23 23 #include <sys/types.h> 24 24 #include <sys/stat.h> 25 #ifdef __CYGWIN__ 26 #include <sys/cygwin.h> 27 #endif 25 28 26 29 #include "vfs.h" 27 30 #include "csutil/archive.h" … … 982 985 rc = true; 983 986 UPathV.Push (src); 984 987 985 // Now parse this path 986 char rpath [CS_MAXPATHLEN + 1]; 987 size_t len = strlen (src); 988 len = MIN (len, CS_MAXPATHLEN); 989 memcpy (rpath, src, len); 990 rpath[len] = '\0'; 991 RPathV.Push (rpath); 988 #ifdef __CYGWIN__ 989 // Convert any cygwin paths to win32 paths 990 char rpath[MAX_PATH]; 991 if (cygwin_conv_to_win32_path(src, rpath) == 0) 992 RPathV.Push (rpath); 993 else 994 RPathV.Push (src); 995 #else 996 RPathV.Push (src); 997 #endif 992 998 src = cur + 1; 993 999 } /* endif */ 994 1000 } /* for */ … … 1007 1013 } /* endif */ 1008 1014 csString const expanded_path = Expand(Parent, RealPath); 1009 1015 size_t i; 1010 for (i = 0; i < RPathV.Length (); i++)1011 if (strcmp ((char *) RPathV.Get (i), expanded_path) == 0)1016 for (i = 0; i < UPathV.Length (); i++) 1017 if (strcmp ((char *)UPathV.Get (i), expanded_path) == 0) 1012 1018 { 1013 1019 RPathV.DeleteIndex (i); 1014 1020 UPathV.DeleteIndex (i);
