diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c
index d82a8d7962..7767689e75 100644
--- a/menu/cbs/menu_cbs_title.c
+++ b/menu/cbs/menu_cbs_title.c
@@ -13,7 +13,6 @@
* If not, see .
*/
-#include
#include
#include
@@ -808,28 +807,24 @@ static int action_get_title_generic(char *s, size_t len,
{
if (!string_is_empty(path))
{
- struct string_list list_path = {0};
- string_list_initialize(&list_path);
- if (string_split_noalloc(&list_path, path, "|"))
+ char *tok, *save;
+ char *path_cpy = strdup(path);
+
+ if ((tok = strtok_r(path_cpy, "|", &save)))
{
size_t _len;
- char elem0_path[255];
- if (list_path.size > 0)
- strlcpy(elem0_path, list_path.elems[0].data,
- sizeof(elem0_path));
- string_list_deinitialize(&list_path);
-
+ char elem0_path[256];
+ strlcpy(elem0_path, tok, sizeof(elem0_path));
_len = strlcpy(s, text, len);
- if (!string_is_empty(elem0_path))
- {
- path_remove_extension(elem0_path);
- s[ _len] = ':';
- s[++_len] = ' ';
- s[++_len] = '\0';
- strlcpy(s + _len, path_basename(elem0_path), len - _len);
- }
+ path_remove_extension(elem0_path);
+ s[ _len] = ':';
+ s[++_len] = ' ';
+ s[++_len] = '\0';
+ strlcpy(s + _len, path_basename(elem0_path), len - _len);
+ free(path_cpy);
return 0;
}
+ free(path_cpy);
}
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE), len);
@@ -933,29 +928,22 @@ static int action_get_title_group_settings(const char *path, const char *label,
{
size_t _len;
- char elem0[255];
- char elem1[255];
- struct string_list list_label = {0};
- string_list_initialize(&list_label);
- string_split_noalloc(&list_label, label, "|");
+ char *tok, *save;
+ char *label_cpy = strdup(label);
- if (list_label.size > 0)
+ if ((tok = strtok_r(label_cpy, "|", &save)))
{
- strlcpy(elem0, list_label.elems[0].data, sizeof(elem0));
- if (list_label.size > 1)
- strlcpy(elem1, list_label.elems[1].data, sizeof(elem1));
- }
- string_list_deinitialize(&list_label);
-
- _len = strlcpy(s, elem0, len);
- if (!string_is_empty(elem1))
- {
- s[ _len] = ' ';
- s[++_len] = '-';
- s[++_len] = ' ';
- s[++_len] = '\0';
- strlcpy(s + _len, elem1, len - _len);
+ _len = strlcpy(s, tok, len);
+ if ((tok = strtok_r(NULL, "|", &save)))
+ {
+ s[ _len] = ' ';
+ s[++_len] = '-';
+ s[++_len] = ' ';
+ s[++_len] = '\0';
+ strlcpy(s + _len, tok, len - _len);
+ }
}
+ free(label_cpy);
}
return 0;