github.com/afumu/libc@v0.0.6/musl/src/misc/dirname.c (about) 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 }