Miscellany
public c v1 · immutable#include <errno.h>#define DIRMAXLEN 1024char *dirname(char *p) { int l; char dir[DIRMAXLEN];#ifdef __WIN32__ for(l = strlen(p); p[l] != '\\' && l > 0; l--);#else for(l = strlen(p); p[l] != '/' && l > 0; l--);#endif if(l >= DIRMAXLEN) { errno = ENAMETOOLONG; return NULL; } strncpy(dir, p, DIRMAXLEN) return dir;}