/* Copyright 2005 Shaun Jackman * Permission to use, copy, modify, and distribute this software * is freely granted, provided that this notice is preserved. */ #include #include char *basename(char *path) { char *p; if(path == NULL || *path == '\0') return "."; p = path + strlen(path) - 1; while(*p == '/') { if(p == path) return path; *p-- = '\0'; } while(p >= path && *p != '/') p--; return p + 1; }