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