| #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; | |
| } |