diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-04-14 00:34:05 +0200 |
---|---|---|
committer | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-04-20 19:14:39 +0200 |
commit | 59451394b5b3bb4ccee2b25c6fa5512ba4ca3a19 (patch) | |
tree | e4280604378af9fc56ee7bdeb6f56d67bea44e25 /shell | |
parent | c6737e7500e71b3122e336a64b1fe1bd74399292 (diff) | |
download | busybox-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.c | 10 |
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(); |