#include <string.h> | |
#include <libgen.h> | |
char* dirname(char* s) { | |
size_t i; | |
if (!s || !*s) | |
return "."; | |
i = strlen(s) - 1; | |
for (; s[i] == '/'; i--) | |
if (!i) | |
return "/"; | |
for (; s[i] != '/'; i--) | |
if (!i) | |
return "."; | |
for (; s[i] == '/'; i--) | |
if (!i) | |
return "/"; | |
s[i + 1] = 0; | |
return s; | |
} |