#include #include void path_parse(const char *in, char *mp, char *path) { if (in == 0 || *in == 0) { mp[0] = 0; path[0] = 0; return; } int i = 0, j = 0, colonfound = 0; while (in[i]) { if (in[i] == ':') { if (colonfound) { mp[0] = 0; path[0] = 0; return; } colonfound = 1; mp[i] = 0; i++; continue; } if (!colonfound) { mp[i] = in[i]; } else { path[j++] = in[i]; } i++; } if (!colonfound) { mp[i] = 0; path[0] = 0; } else { path[j] = 0; } } const char *path_basename(const char *path) { if (!path) { return NULL; } const char *aftercolon = string_strchr(path, ':'); if (aftercolon) { path = aftercolon + 1; } const char *lastslash = NULL; for (const char *p = path; *p; p++) { if (*p == '/') { lastslash = p; } } return lastslash ? lastslash + 1 : path; }