aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2010-04-14 00:34:05 +0200
committerNguyễn Thái Ngọc Duy <pclouds@gmail.com>2010-04-20 19:14:39 +0200
commit59451394b5b3bb4ccee2b25c6fa5512ba4ca3a19 (patch)
treee4280604378af9fc56ee7bdeb6f56d67bea44e25 /shell
parentc6737e7500e71b3122e336a64b1fe1bd74399292 (diff)
downloadbusybox-w32-59451394b5b3bb4ccee2b25c6fa5512ba4ca3a19.tar.gz
busybox-w32-59451394b5b3bb4ccee2b25c6fa5512ba4ca3a19.tar.bz2
busybox-w32-59451394b5b3bb4ccee2b25c6fa5512ba4ca3a19.zip
win32: ash: path_advance(): support both colon and semicolon as path separator
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/shell/ash.c b/shell/ash.c
index da3b6d031..db27cefe5 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -2261,8 +2261,18 @@ path_advance(const char **path, const char *name)
2261 if (*path == NULL) 2261 if (*path == NULL)
2262 return NULL; 2262 return NULL;
2263 start = *path; 2263 start = *path;
2264#if ENABLE_PLATFORM_MINGW32
2265 p = next_path_sep(start);
2266 q = strchr(start, '%');
2267 if ((p && q && q < p) || (!p && q))
2268 p = q;
2269 if (!p)
2270 for (p = start; *p; p++)
2271 continue;
2272#else
2264 for (p = start; *p && *p != ':' && *p != '%'; p++) 2273 for (p = start; *p && *p != ':' && *p != '%'; p++)
2265 continue; 2274 continue;
2275#endif
2266 len = p - start + strlen(name) + 2; /* "2" is for '/' and '\0' */ 2276 len = p - start + strlen(name) + 2; /* "2" is for '/' and '\0' */
2267 while (stackblocksize() < len) 2277 while (stackblocksize() < len)
2268 growstackblock(); 2278 growstackblock();