| 1 | #include <string.h> |
| 2 | #include <libgen.h> |
| 3 | |
| 4 | char *dirname(char *s) |
| 5 | { |
| 6 | 	size_t i; |
| 7 | 	if (!s || !*s) return "."; |
| 8 | 	i = strlen(s)-1; |
| 9 | 	for (; s[i]=='/'; i--) if (!i) return "/"; |
| 10 | 	for (; s[i]!='/'; i--) if (!i) return "."; |
| 11 | 	for (; s[i]=='/'; i--) if (!i) return "/"; |
| 12 | 	s[i+1] = 0; |
| 13 | 	return s; |
| 14 | } |