| Index: fusl/src/misc/dirname.c
|
| diff --git a/fusl/src/misc/dirname.c b/fusl/src/misc/dirname.c
|
| index dd570883d8ac672716adaab40dce4bf34be1ddf7..9d2e0cf98e171a0a7f91efa1398830505391fff3 100644
|
| --- a/fusl/src/misc/dirname.c
|
| +++ b/fusl/src/misc/dirname.c
|
| @@ -1,14 +1,20 @@
|
| #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;
|
| +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;
|
| }
|
|
|