utils: Return plain drive letter as base/pathname for drive letters on Windows

This commit is contained in:
Martin Willi
2014-06-04 15:53:08 +02:00
parent 8182631bc3
commit 2496eaffde
+9
View File
@@ -241,6 +241,15 @@ char* path_dirname(const char *path)
} }
if (!pos) 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("."); return strdup(".");
} }
while (pos > path && *pos == DIRECTORY_SEPARATOR[0]) while (pos > path && *pos == DIRECTORY_SEPARATOR[0])