blob: 9d2e0cf98e171a0a7f91efa1398830505391fff3 [file] [log] [blame]
#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;
}