From: Lasse Collin Date: Sun, 8 Feb 2009 08:37:50 +0000 (+0200) Subject: Support both slash and backslash as path component X-Git-Tag: upstream/5.1.3~582 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=79e25eded48d2fe33f31441ab7a034f902e335f8;p=platform%2Fupstream%2Fxz.git Support both slash and backslash as path component separator on Windows when parsing argv[0]. --- diff --git a/src/xz/args.c b/src/xz/args.c index c9d1dc1..93cd220 100644 --- a/src/xz/args.c +++ b/src/xz/args.c @@ -425,11 +425,20 @@ args_parse(args_info *args, int argc, char **argv) // Check how we were called. { // Remove the leading path name, if any. +#ifdef _WIN32 + // Some systems support both / and \ to separate path + // components. + const char *name = argv[0] + strlen(argv[0]); + while (argv[0] < name && name[-1] != '/' && name[-1] != '\\') + --name; +#else + // POSIX const char *name = strrchr(argv[0], '/'); if (name == NULL) name = argv[0]; else ++name; +#endif // NOTE: It's possible that name[0] is now '\0' if argv[0] // is weird, but it doesn't matter here.