diff options
author | William Wilgus <wilgus.william@gmail.com> | 2022-12-20 18:10:44 -0500 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2022-12-20 18:10:44 -0500 |
commit | 2b4a4070c99439898e22c9c9da2c21877d18a367 (patch) | |
tree | 95f977d3c866d9c37c9b867971021df6c07d844e | |
parent | 18ec1a2aa6f0acc87135569eaa64c11f30648d65 (diff) | |
download | rockbox-2b4a4070c9.tar.gz rockbox-2b4a4070c9.zip |
buflib.c strip path from alloc name
Change-Id: I6a0f1cc9037fcbe0245d94b4c77ba4ec08378434
-rw-r--r-- | firmware/buflib.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/buflib.c b/firmware/buflib.c index 2ce9cc344c..d9f82f8854 100644 --- a/firmware/buflib.c +++ b/firmware/buflib.c @@ -35,6 +35,7 @@ #include "panic.h" #include "crc32.h" #include "system.h" /* for ALIGN_*() */ +#include "pathfuncs.h" /* path_basename() */ /* The main goal of this design is fast fetching of the pointer for a handle. * For that reason, the handles are stored in a table at the end of the buffer @@ -658,6 +659,9 @@ int buflib_alloc_ex(struct buflib_context *ctx, size_t size, const char *name, struct buflib_callbacks *ops) { + if (name) /* if name is a path strip everything but the filename */ + path_basename(name, &name); + union buflib_data *handle, *block; size_t name_len = name ? B_ALIGN_UP(strlen(name)+1) : 0; bool last; |