Reduce calls to path_remove_extension - use fill_pathname instead (#17270)

* Reduce calls to path_remove_extension - use fill_pathname instead

* More fill_pathname usage
This commit is contained in:
LibretroAdmin 2024-12-20 23:40:58 -06:00 committed by GitHub
parent b16f04de0a
commit 739f2ff55c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
22 changed files with 108 additions and 224 deletions

View File

@ -1407,8 +1407,8 @@ void audio_driver_load_system_sounds(void)
if (audio_driver_mixer_extension_supported(ext)) if (audio_driver_mixer_extension_supported(ext))
{ {
basename_noext[0] = '\0'; basename_noext[0] = '\0';
fill_pathname_base(basename_noext, path, sizeof(basename_noext)); fill_pathname(basename_noext, path_basename(path), "",
path_remove_extension(basename_noext); sizeof(basename_noext));
if (string_is_equal_noncase(basename_noext, "ok")) if (string_is_equal_noncase(basename_noext, "ok"))
path_ok = path; path_ok = path;

View File

@ -1908,8 +1908,8 @@ bool command_event_save_core_config(
char tmp[PATH_MAX_LENGTH + 8]; char tmp[PATH_MAX_LENGTH + 8];
RARCH_LOG("[Config]: %s\n", msg_hash_to_str(MSG_USING_CORE_NAME_FOR_NEW_CONFIG)); RARCH_LOG("[Config]: %s\n", msg_hash_to_str(MSG_USING_CORE_NAME_FOR_NEW_CONFIG));
fill_pathname_base(config_name, core_path, sizeof(config_name)); fill_pathname(config_name, path_basename(core_path), "",
path_remove_extension(config_name); sizeof(config_name));
fill_pathname_join_special(config_path, config_dir, config_name, fill_pathname_join_special(config_path, config_dir, config_name,
sizeof(config_path)); sizeof(config_path));

View File

@ -62,11 +62,8 @@ static bool core_backup_get_backup_dir(
|| (len < 1)) || (len < 1))
return false; return false;
strlcpy(core_file_id, core_filename, sizeof(core_file_id)); fill_pathname(core_file_id, core_filename, "",
sizeof(core_file_id));
/* > Remove file extension */
path_remove_extension(core_file_id);
if (string_is_empty(core_file_id)) if (string_is_empty(core_file_id))
return false; return false;

View File

@ -1567,8 +1567,7 @@ static bool core_info_get_file_id(const char *core_filename,
* or platform-specific suffix */ * or platform-specific suffix */
/* > Remove extension */ /* > Remove extension */
strlcpy(core_file_id, core_filename, len); fill_pathname(core_file_id, core_filename, "", len);
path_remove_extension(core_file_id);
#if defined(IOS) || defined(OSX) #if defined(IOS) || defined(OSX)
/* iOS framework names, to quote Apple: /* iOS framework names, to quote Apple:
* "must contain only alphanumerics, dots, hyphens and must not end with a dot." * "must contain only alphanumerics, dots, hyphens and must not end with a dot."

View File

@ -205,7 +205,6 @@ bool disk_index_file_init(
const char *dir_savefile) const char *dir_savefile)
{ {
size_t len; size_t len;
const char *content_file = NULL;
char content_name[NAME_MAX_LENGTH]; char content_name[NAME_MAX_LENGTH];
char disk_index_file_dir[DIR_MAX_LENGTH]; char disk_index_file_dir[DIR_MAX_LENGTH];
@ -220,14 +219,8 @@ bool disk_index_file_init(
goto error; goto error;
/* Build disk index file path */ /* Build disk index file path */
fill_pathname(content_name, path_basename(content_path), "",
/* > Get content name */ sizeof(content_name));
content_file = path_basename(content_path);
if (string_is_empty(content_file))
goto error;
strlcpy(content_name, content_file, sizeof(content_name));
path_remove_extension(content_name);
if (string_is_empty(content_name)) if (string_is_empty(content_name))
goto error; goto error;

View File

@ -257,15 +257,13 @@ bool gfx_thumbnail_set_system(gfx_thumbnail_path_data_t *path_data,
&& string_is_equal(playlist_file, && string_is_equal(playlist_file,
FILE_PATH_CONTENT_FAVORITES)); FILE_PATH_CONTENT_FAVORITES));
/* This means we have to work a little harder
* i.e. check whether the cached playlist file
* matches the database name */
if (!playlist_valid) if (!playlist_valid)
{ {
/* This means we have to work a little harder char playlist_name[NAME_MAX_LENGTH];
* i.e. check whether the cached playlist file fill_pathname(playlist_name, playlist_file, "", sizeof(playlist_name));
* matches the database name */
char *playlist_name = NULL;
char tmp[NAME_MAX_LENGTH];
strlcpy(tmp, playlist_file, sizeof(tmp));
playlist_name = path_remove_extension(tmp);
playlist_valid = string_is_equal(playlist_name, system); playlist_valid = string_is_equal(playlist_name, system);
} }
@ -336,8 +334,6 @@ bool gfx_thumbnail_set_content_image(
gfx_thumbnail_path_data_t *path_data, gfx_thumbnail_path_data_t *path_data,
const char *img_dir, const char *img_name) const char *img_dir, const char *img_name)
{ {
char *content_img_no_ext = NULL;
if (!path_data) if (!path_data)
return false; return false;
@ -370,14 +366,9 @@ bool gfx_thumbnail_set_content_image(
strlcpy(path_data->content_img, strlcpy(path_data->content_img,
img_name, sizeof(path_data->content_img)); img_name, sizeof(path_data->content_img));
/* Get image label */ fill_pathname(path_data->content_label,
content_img_no_ext = path_remove_extension(path_data->content_img); path_data->content_img, "",
if (!string_is_empty(content_img_no_ext)) sizeof(path_data->content_label));
strlcpy(path_data->content_label,
content_img_no_ext, sizeof(path_data->content_label));
else
strlcpy(path_data->content_label,
path_data->content_img, sizeof(path_data->content_label));
/* Set file path */ /* Set file path */
fill_pathname_join_special(path_data->content_path, fill_pathname_join_special(path_data->content_path,
@ -479,20 +470,12 @@ bool gfx_thumbnail_set_content_playlist(
/* Determine content image name */ /* Determine content image name */
{ {
char* content_name_no_ext = NULL;
char tmp_buf[NAME_MAX_LENGTH]; char tmp_buf[NAME_MAX_LENGTH];
/* Remove rom file extension fill_pathname(tmp_buf, path_basename(path_data->content_path),
* > path_remove_extension() requires a char * (not const) "", sizeof(tmp_buf));
* so have to use a temporary buffer... */
const char* base_name = path_basename(path_data->content_path);
strlcpy(tmp_buf, base_name, sizeof(tmp_buf));
content_name_no_ext = path_remove_extension(tmp_buf);
if (!content_name_no_ext)
content_name_no_ext = tmp_buf;
gfx_thumbnail_fill_content_img(path_data->content_img_full, gfx_thumbnail_fill_content_img(path_data->content_img_full,
sizeof(path_data->content_img_full), content_name_no_ext,false); sizeof(path_data->content_img_full), tmp_buf, false);
gfx_thumbnail_fill_content_img(path_data->content_img, gfx_thumbnail_fill_content_img(path_data->content_img,
sizeof(path_data->content_img), path_data->content_label,false); sizeof(path_data->content_img), path_data->content_label,false);
@ -529,27 +512,17 @@ bool gfx_thumbnail_set_content_playlist(
else else
{ {
char tmp_buf[NAME_MAX_LENGTH]; char tmp_buf[NAME_MAX_LENGTH];
char *db_name_no_ext = NULL;
const char *pos = strchr(db_name, '|'); const char *pos = strchr(db_name, '|');
/* If db_name comes from core info, and there are multiple /* If db_name comes from core info, and there are multiple
* databases mentioned separated by |, use only first one */ * databases mentioned separated by |, use only first one */
if (pos && (size_t) (pos - db_name) + 1 < sizeof(tmp_buf)) if (pos && (size_t) (pos - db_name) + 1 < sizeof(tmp_buf))
strlcpy(tmp_buf, db_name, (size_t)(pos - db_name) + 1); strlcpy(tmp_buf, db_name, (size_t)(pos - db_name) + 1);
else else
/* Remove .lpl extension
* > path_remove_extension() requires a char * (not const)
* so have to use a temporary buffer... */
strlcpy(tmp_buf, db_name, sizeof(tmp_buf)); strlcpy(tmp_buf, db_name, sizeof(tmp_buf));
db_name_no_ext = path_remove_extension(tmp_buf); fill_pathname(path_data->content_db_name,
tmp_buf, "",
if (!string_is_empty(db_name_no_ext)) sizeof(path_data->content_db_name));
strlcpy(path_data->content_db_name,
db_name_no_ext, sizeof(path_data->content_db_name));
else
strlcpy(path_data->content_db_name,
tmp_buf, sizeof(path_data->content_db_name));
} }
} }
@ -638,18 +611,11 @@ bool gfx_thumbnail_set_icon_playlist(
/* Determine content image name */ /* Determine content image name */
{ {
char tmp_buf[NAME_MAX_LENGTH]; char tmp_buf[NAME_MAX_LENGTH];
char* content_name_no_ext = NULL; fill_pathname(tmp_buf, path_basename(path_data->content_path), "",
/* Remove rom file extension sizeof(tmp_buf));
* > path_remove_extension() requires a char * (not const)
* so have to use a temporary buffer... */
const char* base_name = path_basename(path_data->content_path);
strlcpy(tmp_buf, base_name, sizeof(tmp_buf));
content_name_no_ext = path_remove_extension(tmp_buf);
if (!content_name_no_ext)
content_name_no_ext = tmp_buf;
gfx_thumbnail_fill_content_img(path_data->content_img_full, gfx_thumbnail_fill_content_img(path_data->content_img_full,
sizeof(path_data->content_img_full), content_name_no_ext,false); sizeof(path_data->content_img_full), tmp_buf, false);
gfx_thumbnail_fill_content_img(path_data->content_img, gfx_thumbnail_fill_content_img(path_data->content_img,
sizeof(path_data->content_img), path_data->content_label,false); sizeof(path_data->content_img), path_data->content_label,false);
@ -686,7 +652,6 @@ bool gfx_thumbnail_set_icon_playlist(
else else
{ {
char tmp_buf[NAME_MAX_LENGTH]; char tmp_buf[NAME_MAX_LENGTH];
char *db_name_no_ext = NULL;
const char* pos = strchr(db_name, '|'); const char* pos = strchr(db_name, '|');
/* If db_name comes from core info, and there are multiple /* If db_name comes from core info, and there are multiple
@ -694,18 +659,11 @@ bool gfx_thumbnail_set_icon_playlist(
if (pos && (size_t) (pos - db_name)+1 < sizeof(tmp_buf)) if (pos && (size_t) (pos - db_name)+1 < sizeof(tmp_buf))
strlcpy(tmp_buf, db_name, (size_t) (pos - db_name)+1); strlcpy(tmp_buf, db_name, (size_t) (pos - db_name)+1);
else else
/* Remove .lpl extension
* > path_remove_extension() requires a char * (not const)
* so have to use a temporary buffer... */
strlcpy(tmp_buf, db_name, sizeof(tmp_buf)); strlcpy(tmp_buf, db_name, sizeof(tmp_buf));
db_name_no_ext = path_remove_extension(tmp_buf);
if (!string_is_empty(db_name_no_ext)) fill_pathname(path_data->content_db_name,
strlcpy(path_data->content_db_name, tmp_buf, "",
db_name_no_ext, sizeof(path_data->content_db_name)); sizeof(path_data->content_db_name));
else
strlcpy(path_data->content_db_name,
tmp_buf, sizeof(path_data->content_db_name));
} }
} }

View File

@ -262,14 +262,12 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
rarch_path_basename, rarch_path_basename,
sizeof(content_dir_name)); sizeof(content_dir_name));
if (string_is_not_equal_fast(content_dir_name, "", sizeof(""))) if (string_is_not_equal_fast(content_dir_name, "", sizeof("")))
strlcpy(content_dir_name, fill_pathname(content_dir_name,
path_basename_nocompression(content_dir_name), path_basename_nocompression(content_dir_name), "",
sizeof(content_dir_name)); sizeof(content_dir_name));
if (string_is_not_equal_fast(content_dir_name, "", sizeof("")))
path_remove_extension(content_dir_name);
if (string_is_not_equal_fast(content_dir_name, "", sizeof(""))) if (string_is_not_equal_fast(content_dir_name, "", sizeof("")))
replace_len = strlcpy(replace_text, content_dir_name, sizeof(replace_text)); replace_len = strlcpy(replace_text, content_dir_name, sizeof(replace_text));
else else
replace_text[0] = '\0'; replace_text[0] = '\0';
} }
@ -379,11 +377,10 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
char preset_dir_name[DIR_MAX_LENGTH]; char preset_dir_name[DIR_MAX_LENGTH];
fill_pathname_parent_dir_name(preset_dir_name, in_preset_path, sizeof(preset_dir_name)); fill_pathname_parent_dir_name(preset_dir_name, in_preset_path, sizeof(preset_dir_name));
if (string_is_not_equal_fast(preset_dir_name, "", sizeof(""))) if (string_is_not_equal_fast(preset_dir_name, "", sizeof("")))
strlcpy(preset_dir_name, path_basename_nocompression(preset_dir_name), sizeof(preset_dir_name)); fill_pathname(preset_dir_name, path_basename_nocompression(preset_dir_name),
"", sizeof(preset_dir_name));
if (string_is_not_equal_fast(preset_dir_name, "", sizeof(""))) if (string_is_not_equal_fast(preset_dir_name, "", sizeof("")))
path_remove_extension(preset_dir_name); replace_len = strlcpy(replace_text, preset_dir_name, sizeof(replace_text));
if (string_is_not_equal_fast(preset_dir_name, "", sizeof("")))
replace_len = strlcpy(replace_text, preset_dir_name, sizeof(replace_text));
else else
replace_text[0] = '\0'; replace_text[0] = '\0';
} }
@ -391,11 +388,11 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
case RARCH_WILDCARD_PRESET: case RARCH_WILDCARD_PRESET:
{ {
char preset_name[NAME_MAX_LENGTH]; char preset_name[NAME_MAX_LENGTH];
strlcpy(preset_name, path_basename_nocompression(in_preset_path), sizeof(preset_name)); fill_pathname(preset_name,
path_basename_nocompression(in_preset_path), "",
sizeof(preset_name));
if (string_is_not_equal_fast(preset_name, "", sizeof(""))) if (string_is_not_equal_fast(preset_name, "", sizeof("")))
path_remove_extension(preset_name); replace_len = strlcpy(replace_text, preset_name, sizeof(replace_text));
if (string_is_not_equal_fast(preset_name, "", sizeof("")))
replace_len = strlcpy(replace_text, preset_name, sizeof(replace_text));
else else
replace_text[0] = '\0'; replace_text[0] = '\0';
} }

View File

@ -378,9 +378,8 @@ bool gfx_widget_start_load_content_animation(void)
/* Get entry db_name, */ /* Get entry db_name, */
if (!string_is_empty(entry->db_name)) if (!string_is_empty(entry->db_name))
{ {
strlcpy(state->system_name, entry->db_name, fill_pathname(state->system_name, entry->db_name, "",
sizeof(state->system_name)); sizeof(state->system_name));
path_remove_extension(state->system_name);
has_system = true; has_system = true;
has_db_name = true; has_db_name = true;
@ -398,8 +397,7 @@ bool gfx_widget_start_load_content_animation(void)
if (!string_is_empty(playlist_path)) if (!string_is_empty(playlist_path))
{ {
char new_system_name[512]; char new_system_name[512];
strlcpy(new_system_name, playlist_path, sizeof(new_system_name)); fill_pathname(new_system_name, playlist_path, "", sizeof(new_system_name));
path_remove_extension(new_system_name);
state->system_name_len = fill_pathname_base( state->system_name_len = fill_pathname_base(
state->system_name, new_system_name, state->system_name, new_system_name,
sizeof(state->system_name)); sizeof(state->system_name));
@ -423,11 +421,8 @@ bool gfx_widget_start_load_content_animation(void)
/* If we haven't yet set the content name, /* If we haven't yet set the content name,
* use content file name as a fallback */ * use content file name as a fallback */
if (!has_content) if (!has_content)
{ fill_pathname(state->content_name, path_basename(content_path),
fill_pathname_base(state->content_name, content_path, "", sizeof(state->content_name));
sizeof(state->content_name));
path_remove_extension(state->content_name);
}
/* Check whether system name has been set */ /* Check whether system name has been set */
if (!has_system) if (!has_system)

View File

@ -505,7 +505,6 @@ enum manual_content_scan_playlist_refresh_status
const char *path_content_database, bool show_hidden_files) const char *path_content_database, bool show_hidden_files)
{ {
const char *playlist_path = NULL; const char *playlist_path = NULL;
const char *playlist_file = NULL;
const char *content_dir = NULL; const char *content_dir = NULL;
const char *core_name = NULL; const char *core_name = NULL;
const char *file_exts = NULL; const char *file_exts = NULL;
@ -555,11 +554,8 @@ enum manual_content_scan_playlist_refresh_status
goto end; goto end;
} }
if ((playlist_file = path_basename(playlist_path))) fill_pathname(system_name, path_basename(playlist_path),
{ "", sizeof(system_name));
strlcpy(system_name, playlist_file, sizeof(system_name));
path_remove_extension(system_name);
}
if (string_is_empty(system_name)) if (string_is_empty(system_name))
{ {
@ -604,9 +600,8 @@ enum manual_content_scan_playlist_refresh_status
if (string_is_empty(rdb_file)) if (string_is_empty(rdb_file))
continue; continue;
/* Remove file extension */ fill_pathname(rdb_name, rdb_file, "",
strlcpy(rdb_name, rdb_file, sizeof(rdb_name)); sizeof(rdb_name));
path_remove_extension(rdb_name);
if (string_is_empty(rdb_name)) if (string_is_empty(rdb_name))
continue; continue;
@ -865,9 +860,8 @@ struct string_list *manual_content_scan_get_menu_system_name_list(
if (string_is_empty(rdb_file)) if (string_is_empty(rdb_file))
continue; continue;
/* Remove file extension */ fill_pathname(rdb_name, rdb_file, "",
strlcpy(rdb_name, rdb_file, sizeof(rdb_name)); sizeof(rdb_name));
path_remove_extension(rdb_name);
if (string_is_empty(rdb_name)) if (string_is_empty(rdb_name))
continue; continue;

View File

@ -77,13 +77,7 @@ static int action_bind_label_playlist_collection_entry(
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FAVORITES_TAB), len); strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FAVORITES_TAB), len);
/* Handle collection playlists */ /* Handle collection playlists */
else else
{ fill_pathname(s, playlist_file, "", len);
char playlist_name[NAME_MAX_LENGTH];
strlcpy(playlist_name, playlist_file, sizeof(playlist_name));
path_remove_extension(playlist_name);
strlcpy(s, playlist_name, len);
}
} }
/* This should never happen, but if it does just set /* This should never happen, but if it does just set
* the label to the file name (it's better than nothing...) */ * the label to the file name (it's better than nothing...) */

View File

@ -1581,8 +1581,8 @@ int generic_action_ok_displaylist_push(
settings->paths.path_content_database, settings->paths.path_content_database,
path, sizeof(tmp)); path, sizeof(tmp));
fill_pathname_base(lpl_basename, path, sizeof(lpl_basename)); fill_pathname(lpl_basename, path_basename(path), "",
path_remove_extension(lpl_basename); sizeof(lpl_basename));
menu_driver_set_thumbnail_system( menu_driver_set_thumbnail_system(
menu_st->userdata, lpl_basename, sizeof(lpl_basename)); menu_st->userdata, lpl_basename, sizeof(lpl_basename));
@ -8597,12 +8597,9 @@ static int action_ok_playlist_refresh(const char *path,
case MANUAL_CONTENT_SCAN_PLAYLIST_REFRESH_INVALID_SYSTEM_NAME: case MANUAL_CONTENT_SCAN_PLAYLIST_REFRESH_INVALID_SYSTEM_NAME:
{ {
const char *playlist_file = NULL; const char *playlist_file = NULL;
if ((playlist_file = path_basename(playlist_config->path))) if ((playlist_file = path_basename(playlist_config->path)))
{ fill_pathname(system_name, playlist_file, "",
strlcpy(system_name, playlist_file, sizeof(system_name)); sizeof(system_name));
path_remove_extension(system_name);
}
else else
system_name[0] = '\0'; system_name[0] = '\0';

View File

@ -412,13 +412,7 @@ static int action_get_title_deferred_playlist_list(const char *path, const char
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FAVORITES_TAB), len); strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FAVORITES_TAB), len);
/* Handle collection playlists */ /* Handle collection playlists */
else else
{ fill_pathname(s, playlist_file, "", len);
char playlist_name[NAME_MAX_LENGTH];
strlcpy(playlist_name, playlist_file, sizeof(playlist_name));
path_remove_extension(playlist_name);
strlcpy(s, playlist_name, len);
}
} }
/* This should never happen, but if it does just set /* This should never happen, but if it does just set
* the label to the file name (it's better than nothing...) */ * the label to the file name (it's better than nothing...) */
@ -832,13 +826,13 @@ static int action_get_title_generic(char *s, size_t len,
{ {
size_t _len; size_t _len;
char elem0_path[NAME_MAX_LENGTH]; char elem0_path[NAME_MAX_LENGTH];
strlcpy(elem0_path, tok, sizeof(elem0_path)); fill_pathname(elem0_path, path_basename(tok), "",
sizeof(elem0_path));
_len = strlcpy(s, text, len); _len = strlcpy(s, text, len);
path_remove_extension(elem0_path);
s[ _len] = ':'; s[ _len] = ':';
s[++_len] = ' '; s[++_len] = ' ';
s[++_len] = '\0'; s[++_len] = '\0';
strlcpy(s + _len, path_basename(elem0_path), len - _len); strlcpy(s + _len, elem0_path, len - _len);
free(path_cpy); free(path_cpy);
return 0; return 0;
} }

View File

@ -4872,10 +4872,9 @@ static void ozone_init_horizontal_list(
continue; continue;
} }
/* Remove extension */ fill_pathname(playlist_file_noext,
fill_pathname_base(playlist_file_noext, path_basename(playlist_file), "",
playlist_file, sizeof(playlist_file_noext)); sizeof(playlist_file_noext));
path_remove_extension(playlist_file_noext);
console_name = playlist_file_noext; console_name = playlist_file_noext;
@ -5911,8 +5910,7 @@ border_iterate:
for (offset = 0; offset < ozone->horizontal_list.size; offset++) for (offset = 0; offset < ozone->horizontal_list.size; offset++)
{ {
char playlist_file_noext[NAME_MAX_LENGTH]; char playlist_file_noext[NAME_MAX_LENGTH];
strlcpy(playlist_file_noext, ozone->horizontal_list.list[offset].path, sizeof(playlist_file_noext)); fill_pathname(playlist_file_noext, ozone->horizontal_list.list[offset].path, "", sizeof(playlist_file_noext));
path_remove_extension(playlist_file_noext);
if (string_is_equal(playlist_file_noext, entry.rich_label)) if (string_is_equal(playlist_file_noext, entry.rich_label))
break; break;
} }

View File

@ -2130,8 +2130,7 @@ static void xmb_set_title(xmb_handle_t *xmb)
return; return;
/* Use real title for dynamic backgrounds */ /* Use real title for dynamic backgrounds */
fill_pathname_base(xmb->title_name, path, sizeof(xmb->title_name)); fill_pathname(xmb->title_name, path_basename(path), "", sizeof(xmb->title_name));
path_remove_extension(xmb->title_name);
/* Set alternative title for visible header */ /* Set alternative title for visible header */
if (node && node->console_name) if (node && node->console_name)
@ -2491,8 +2490,8 @@ static void xmb_init_horizontal_list(xmb_handle_t *xmb)
} }
/* Remove extension */ /* Remove extension */
fill_pathname_base(playlist_file_noext, playlist_file, sizeof(playlist_file_noext)); fill_pathname(playlist_file_noext, path_basename(playlist_file), "",
path_remove_extension(playlist_file_noext); sizeof(playlist_file_noext));
console_name = playlist_file_noext; console_name = playlist_file_noext;
@ -4869,8 +4868,8 @@ static int xmb_draw_item(
for (offset = 0; offset < xmb->horizontal_list.size; offset++) for (offset = 0; offset < xmb->horizontal_list.size; offset++)
{ {
char playlist_file_noext[NAME_MAX_LENGTH]; char playlist_file_noext[NAME_MAX_LENGTH];
strlcpy(playlist_file_noext, xmb->horizontal_list.list[offset].path, sizeof(playlist_file_noext)); fill_pathname(playlist_file_noext, xmb->horizontal_list.list[offset].path, "",
path_remove_extension(playlist_file_noext); sizeof(playlist_file_noext));
if (string_is_equal(playlist_file_noext, entry.rich_label)) if (string_is_equal(playlist_file_noext, entry.rich_label))
break; break;
} }

View File

@ -2523,8 +2523,8 @@ static int menu_displaylist_parse_playlist(
else if (!string_is_empty(info_path)) else if (!string_is_empty(info_path))
{ {
char lpl_basename[NAME_MAX_LENGTH]; char lpl_basename[NAME_MAX_LENGTH];
fill_pathname_base(lpl_basename, info_path, sizeof(lpl_basename)); fill_pathname(lpl_basename, path_basename(info_path), "",
path_remove_extension(lpl_basename); sizeof(lpl_basename));
menu_driver_set_thumbnail_system( menu_driver_set_thumbnail_system(
menu_st->userdata, lpl_basename, sizeof(lpl_basename)); menu_st->userdata, lpl_basename, sizeof(lpl_basename));
} }
@ -2785,7 +2785,6 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
fill_pathname(path_base, path_basename(info->path), "", fill_pathname(path_base, path_basename(info->path), "",
sizeof(path_base)); sizeof(path_base));
path_remove_extension(path_base);
menu_driver_set_thumbnail_system( menu_driver_set_thumbnail_system(
menu_st->userdata, path_base, sizeof(path_base)); menu_st->userdata, path_base, sizeof(path_base));
@ -3649,8 +3648,8 @@ static int menu_displaylist_parse_horizontal_list(
/* Thumbnail system must be set *after* playlist /* Thumbnail system must be set *after* playlist
* is loaded/cached */ * is loaded/cached */
fill_pathname_base(lpl_basename, item->path, sizeof(lpl_basename)); fill_pathname(lpl_basename, path_basename(item->path), "",
path_remove_extension(lpl_basename); sizeof(lpl_basename));
menu_driver_set_thumbnail_system( menu_driver_set_thumbnail_system(
menu_st->userdata, lpl_basename, sizeof(lpl_basename)); menu_st->userdata, lpl_basename, sizeof(lpl_basename));
} }
@ -4781,8 +4780,8 @@ static unsigned menu_displaylist_parse_add_to_playlist_list(
|| string_is_equal(playlist_file, FILE_PATH_CONTENT_FAVORITES)) || string_is_equal(playlist_file, FILE_PATH_CONTENT_FAVORITES))
continue; continue;
strlcpy(playlist_display_name, playlist_file, sizeof(playlist_display_name)); fill_pathname(playlist_display_name, playlist_file, "",
path_remove_extension(playlist_display_name); sizeof(playlist_display_name));
menu_entries_append(list, playlist_display_name, path, menu_entries_append(list, playlist_display_name, path,
MENU_ENUM_LABEL_ADD_ENTRY_TO_PLAYLIST, MENU_ENUM_LABEL_ADD_ENTRY_TO_PLAYLIST,
@ -5044,8 +5043,7 @@ static unsigned menu_displaylist_parse_pl_thumbnail_download_list(
"lpl")) "lpl"))
continue; continue;
strlcpy(path_base, path, sizeof(path_base)); fill_pathname(path_base, path, "", sizeof(path_base));
path_remove_extension(path_base);
menu_entries_append(list, path_base, path, menu_entries_append(list, path_base, path,
MENU_ENUM_LABEL_PL_THUMBNAILS_UPDATER_ENTRY, MENU_ENUM_LABEL_PL_THUMBNAILS_UPDATER_ENTRY,
@ -5137,12 +5135,9 @@ static unsigned menu_displaylist_parse_content_information(
if (!string_is_empty(entry->label)) if (!string_is_empty(entry->label))
strlcpy(content_label, entry->label, sizeof(content_label)); strlcpy(content_label, entry->label, sizeof(content_label));
else if (!string_is_empty(content_path)) else if (!string_is_empty(content_path)) /* Create content label from the path */
{ fill_pathname(content_label, path_basename(content_path), "",
/* Create content label from the path */ sizeof(content_label));
strlcpy(content_label, path_basename(content_path), sizeof(content_label));
path_remove_extension(content_label);
}
/* Only display core name if both core name and /* Only display core name if both core name and
* core path are valid */ * core path are valid */
@ -5161,8 +5156,8 @@ static unsigned menu_displaylist_parse_content_information(
core_path = loaded_core_path; core_path = loaded_core_path;
/* Create content label from the path */ /* Create content label from the path */
strlcpy(content_label, path_basename(content_path), sizeof(content_label)); fill_pathname(content_label, path_basename(content_path), "",
path_remove_extension(content_label); sizeof(content_label));
if (core_info_find(core_path, &core_info)) if (core_info_find(core_path, &core_info))
{ {
@ -5200,15 +5195,11 @@ static unsigned menu_displaylist_parse_content_information(
/* Database */ /* Database */
if (!string_is_empty(db_name)) if (!string_is_empty(db_name))
{ {
char *db_name_no_ext = NULL;
char db_name_no_ext_buff[NAME_MAX_LENGTH]; char db_name_no_ext_buff[NAME_MAX_LENGTH];
/* Remove .lpl extension fill_pathname(db_name_no_ext_buff, db_name, "",
* > path_remove_extension() requires a char * (not const) sizeof(db_name_no_ext_buff));
* so have to use a temporary buffer... */
strlcpy(db_name_no_ext_buff, db_name, sizeof(db_name_no_ext_buff));
db_name_no_ext = path_remove_extension(db_name_no_ext_buff);
if (!string_is_empty(db_name_no_ext)) if (!string_is_empty(db_name_no_ext_buff))
{ {
size_t _len = strlcpy(tmp, size_t _len = strlcpy(tmp,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CONTENT_INFO_DATABASE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CONTENT_INFO_DATABASE),
@ -5216,7 +5207,7 @@ static unsigned menu_displaylist_parse_content_information(
tmp[ _len] = ':'; tmp[ _len] = ':';
tmp[++_len] = ' '; tmp[++_len] = ' ';
tmp[++_len] = '\0'; tmp[++_len] = '\0';
strlcpy(tmp + _len, db_name_no_ext, sizeof(tmp) - _len); strlcpy(tmp + _len, db_name_no_ext_buff, sizeof(tmp) - _len);
if (menu_entries_append(info_list, tmp, if (menu_entries_append(info_list, tmp,
msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_DATABASE), msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_INFO_DATABASE),
MENU_ENUM_LABEL_CONTENT_INFO_DATABASE, MENU_ENUM_LABEL_CONTENT_INFO_DATABASE,

View File

@ -1335,8 +1335,8 @@ bool playlist_push(playlist_t *playlist,
if (string_is_empty(core_name)) if (string_is_empty(core_name))
{ {
static char base_path[NAME_MAX_LENGTH] = {0}; static char base_path[NAME_MAX_LENGTH] = {0};
fill_pathname_base(base_path, real_core_path, sizeof(base_path)); fill_pathname(base_path, path_basename(real_core_path), "",
path_remove_extension(base_path); sizeof(base_path));
core_name = base_path; core_name = base_path;

View File

@ -4169,10 +4169,9 @@ static bool runloop_path_init_subsystem(runloop_state_t *runloop_st)
ext[ _len] = '.'; ext[ _len] = '.';
ext[++_len] = '\0'; ext[++_len] = '\0';
strlcpy(ext + _len, mem->extension, sizeof(ext) - _len); strlcpy(ext + _len, mem->extension, sizeof(ext) - _len);
strlcpy(savename, fill_pathname(savename,
runloop_st->subsystem_fullpaths->elems[i].data, runloop_st->subsystem_fullpaths->elems[i].data, "",
sizeof(savename)); sizeof(savename));
path_remove_extension(savename);
if (path_is_directory(savefile_dir)) if (path_is_directory(savefile_dir))
{ {
@ -8183,8 +8182,7 @@ void runloop_path_set_special(char **argv, unsigned num_content)
for (i = 0; i < num_content; i++) for (i = 0; i < num_content; i++)
{ {
string_list_append(runloop_st->subsystem_fullpaths, argv[i], attr); string_list_append(runloop_st->subsystem_fullpaths, argv[i], attr);
strlcpy(str, argv[i], sizeof(str)); fill_pathname(str, argv[i], "", sizeof(str));
path_remove_extension(str);
string_list_append(&subsystem_paths, path_basename(str), attr); string_list_append(&subsystem_paths, path_basename(str), attr);
} }

View File

@ -334,32 +334,17 @@ runtime_log_t *runtime_log_init(
size_t path_length = last_slash + 1 - content_path; size_t path_length = last_slash + 1 - content_path;
if (path_length < PATH_MAX_LENGTH) if (path_length < PATH_MAX_LENGTH)
{ {
size_t _len;
memset(tmp_buf, 0, sizeof(tmp_buf)); memset(tmp_buf, 0, sizeof(tmp_buf));
strlcpy(tmp_buf, strlcpy(tmp_buf,
content_path, path_length * sizeof(char)); content_path, path_length * sizeof(char));
_len = strlcpy(content_name, fill_pathname(content_name,
path_basename(tmp_buf), sizeof(content_name)); path_basename(tmp_buf), ".lrtl", sizeof(content_name));
strlcpy(content_name + _len, ".lrtl", sizeof(content_name) - _len);
} }
} }
} }
else else
{ fill_pathname(content_name, path_basename(content_path), ".lrtl",
size_t _len; sizeof(content_name));
/* path_remove_extension() requires a char * (not const)
* so have to use a temporary buffer... */
char *tmp_buf_no_ext = NULL;
tmp_buf[0] = '\0';
strlcpy(tmp_buf, path_basename(content_path), sizeof(tmp_buf));
tmp_buf_no_ext = path_remove_extension(tmp_buf);
if (string_is_empty(tmp_buf_no_ext))
return NULL;
_len = strlcpy(content_name, tmp_buf_no_ext, sizeof(content_name));
strlcpy(content_name + _len, ".lrtl", sizeof(content_name) - _len);
}
if (string_is_empty(content_name)) if (string_is_empty(content_name))
return NULL; return NULL;

View File

@ -581,8 +581,8 @@ static bool content_file_list_set_info(
* searching related content. For archived content, * searching related content. For archived content,
* this is the basename of the archive file without * this is the basename of the archive file without
* extension */ * extension */
fill_pathname_base(name, archive_path, sizeof(name)); fill_pathname(name, path_basename(archive_path), "",
path_remove_extension(name); sizeof(name));
file_info->file_in_archive = true; file_info->file_in_archive = true;
} }
@ -595,8 +595,8 @@ static bool content_file_list_set_info(
/* For uncompressed content, 'canonical' name/id /* For uncompressed content, 'canonical' name/id
* is the basename of the content file, without * is the basename of the content file, without
* extension */ * extension */
fill_pathname_base(name, path, sizeof(name)); fill_pathname(name, path_basename(path), "",
path_remove_extension(name); sizeof(name));
} }
if (!string_is_empty(dir)) if (!string_is_empty(dir))

View File

@ -791,7 +791,6 @@ static int database_info_list_iterate_found_match(
fill_pathname(db_playlist_base_str, fill_pathname(db_playlist_base_str,
path_basename_nocompression(db_path), "", str_len); path_basename_nocompression(db_path), "", str_len);
path_remove_extension(db_playlist_base_str);
strlcat(db_playlist_base_str, ".lpl", sizeof(db_playlist_base_str)); strlcat(db_playlist_base_str, ".lpl", sizeof(db_playlist_base_str));
@ -827,7 +826,6 @@ static int database_info_list_iterate_found_match(
*delim = '\0'; *delim = '\0';
fill_pathname(entry_lbl, fill_pathname(entry_lbl,
path_basename_nocompression(entry_path), "", str_len); path_basename_nocompression(entry_path), "", str_len);
path_remove_extension(entry_lbl);
RARCH_LOG("[Scanner]: No match for: \"%s\", CRC: 0x%08X\n", entry_path_str, db_state->crc); RARCH_LOG("[Scanner]: No match for: \"%s\", CRC: 0x%08X\n", entry_path_str, db_state->crc);
} }
@ -1049,7 +1047,6 @@ static int task_database_iterate_playlist_lutro(
char game_title[NAME_MAX_LENGTH]; char game_title[NAME_MAX_LENGTH];
fill_pathname(game_title, fill_pathname(game_title,
path_basename(path), "", sizeof(game_title)); path_basename(path), "", sizeof(game_title));
path_remove_extension(game_title);
/* the push function reads our entry as const, /* the push function reads our entry as const,
* so these casts are safe */ * so these casts are safe */

View File

@ -205,9 +205,11 @@ static bool find_content_by_name(playlist_config_t *playlist_config,
continue; continue;
} }
strlcpy(buf, path_basename(entry->path), sizeof(buf));
if (!with_extension) if (!with_extension)
path_remove_extension(buf); fill_pathname(buf, path_basename(entry->path),
"", sizeof(buf));
else
strlcpy(buf, path_basename(entry->path), sizeof(buf));
if (string_is_equal_case_insensitive(buf, name)) if (string_is_equal_case_insensitive(buf, name))
{ {

View File

@ -207,12 +207,8 @@ static void task_pl_manager_reset_cores_handler(retro_task_t *task)
if (!string_is_empty(entry->label)) if (!string_is_empty(entry->label))
strlcpy(task_title + _len, entry->label, sizeof(task_title) - _len); strlcpy(task_title + _len, entry->label, sizeof(task_title) - _len);
else if (!string_is_empty(entry->path)) else if (!string_is_empty(entry->path))
{ fill_pathname(task_title + _len, path_basename(entry->path), "",
char entry_name[128]; sizeof(task_title) - _len);
fill_pathname_base(entry_name, entry->path, sizeof(entry_name));
path_remove_extension(entry_name);
strlcpy(task_title + _len, entry_name, sizeof(task_title) - _len);
}
task_set_title(task, strdup(task_title)); task_set_title(task, strdup(task_title));
task_set_progress(task, (pl_manager->list_index * 100) / pl_manager->list_size); task_set_progress(task, (pl_manager->list_index * 100) / pl_manager->list_size);
@ -294,9 +290,9 @@ bool task_push_pl_manager_reset_cores(const playlist_config_t *playlist_config)
if (string_is_empty(playlist_config->path)) if (string_is_empty(playlist_config->path))
goto error; goto error;
fill_pathname_base(playlist_name, fill_pathname(playlist_name,
playlist_config->path, sizeof(playlist_name)); path_basename(playlist_config->path), "",
path_remove_extension(playlist_name); sizeof(playlist_name));
if (string_is_empty(playlist_name)) if (string_is_empty(playlist_name))
goto error; goto error;
@ -721,9 +717,9 @@ bool task_push_pl_manager_clean_playlist(
if (string_is_empty(playlist_config->path)) if (string_is_empty(playlist_config->path))
goto error; goto error;
fill_pathname_base(playlist_name, fill_pathname(playlist_name,
playlist_config->path, sizeof(playlist_name)); path_basename(playlist_config->path), "",
path_remove_extension(playlist_name); sizeof(playlist_name));
if (string_is_empty(playlist_name)) if (string_is_empty(playlist_name))
goto error; goto error;