From: Martin Willi Date: Fri, 7 Mar 2014 13:16:50 +0000 (+0100) Subject: utils: Return plain drive letter as base/pathname for drive letters on Windows X-Git-Tag: 5.2.0dr6~24^2~38 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2496eaffdeb855624903950ba844bfdad6361891;p=thirdparty%2Fstrongswan.git utils: Return plain drive letter as base/pathname for drive letters on Windows --- diff --git a/src/libstrongswan/utils/utils.c b/src/libstrongswan/utils/utils.c index 1b3765a693..2829aba77f 100644 --- a/src/libstrongswan/utils/utils.c +++ b/src/libstrongswan/utils/utils.c @@ -241,6 +241,15 @@ char* path_dirname(const char *path) } if (!pos) { +#ifdef WIN32 + if (path && strlen(path)) + { + if ((isalpha(path[0]) && path[1] == ':')) + { /* if just a drive letter given, return that as dirname */ + return chunk_clone(chunk_from_chars(path[0], ':', 0)).ptr; + } + } +#endif return strdup("."); } while (pos > path && *pos == DIRECTORY_SEPARATOR[0])