Commit 8bb96d46 authored by Eric Wong's avatar Eric Wong Committed by Max Kellermann

path: add mpd_basename() function

This is like basename(3) but with predictable semantics independent of C library or build options used. This is also much more strict and does not account for trailing slashes (mpd should never deal with trailing slashes on internal functions).
parent 5c516b84
......@@ -290,3 +290,15 @@ void utf8_to_fs_playlist_path(char *path_max_tmp, const char *utf8path)
rpp2app_r(path_max_tmp, path_max_tmp);
strncat(path_max_tmp, "." PLAYLIST_FILE_SUFFIX, MPD_PATH_MAX - 1);
}
/* Only takes sanitized paths w/o trailing slashes */
const char *mpd_basename(const char *path)
{
const char *ret = strrchr(path, '/');
if (!ret)
return path;
++ret;
assert(*ret != '\0');
return ret;
}
......@@ -88,4 +88,12 @@ void pathcpy_trunc(char *dest, const char *src);
*/
void utf8_to_fs_playlist_path(char *path_max_tmp, const char *utf8path);
/*
* Like basename(3) but with predictable semantics independent
* of C library or build options used. This is also much more strict
* and does not account for trailing slashes (mpd should never deal with
* trailing slashes on internal functions).
*/
const char *mpd_basename(const char *path);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment