From c253bf4cbd4716ac08a8219ef13a5ed956ea58d9 Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Mon, 19 Jun 2023 18:16:40 +0200 Subject: [PATCH] Reduce char arrays - * titles and msgs sent to runloop_msg_queue_push should just be 128 in size * single extensions queried by frontend around 16 --- gfx/video_filter.c | 2 +- menu/cbs/menu_cbs_ok.c | 13 ++++++------- menu/cbs/menu_cbs_right.c | 16 ++++++++-------- menu/cbs/menu_cbs_start.c | 7 +++---- menu/menu_displaylist.c | 31 ++++++++++++++----------------- menu/menu_setting.c | 2 +- tasks/task_core_backup.c | 18 +++++++++--------- tasks/task_core_updater.c | 30 +++++++++++++++--------------- tasks/task_manual_content_scan.c | 10 +++++----- tasks/task_playlist_manager.c | 12 ++++++------ 10 files changed, 68 insertions(+), 73 deletions(-) diff --git a/gfx/video_filter.c b/gfx/video_filter.c index 26631b1e61..dc6de6d234 100644 --- a/gfx/video_filter.c +++ b/gfx/video_filter.c @@ -420,7 +420,7 @@ rarch_softfilter_t *rarch_softfilter_new(const char *filter_config, softfilter_simd_mask_t cpu_features = (softfilter_simd_mask_t)cpu_features_get(); #ifdef HAVE_DYLIB char basedir[PATH_MAX_LENGTH]; - char ext_name[8]; + char ext_name[16]; #endif struct string_list *plugs = NULL; rarch_softfilter_t *filt = (rarch_softfilter_t*) diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 4804078a97..27da3d99e3 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -3857,7 +3857,7 @@ static int action_ok_core_deferred_set(const char *new_core_path, const char *content_label, unsigned type, size_t idx, size_t entry_idx) { size_t _len; - char msg[PATH_MAX_LENGTH]; + char msg[128]; char resolved_core_path[PATH_MAX_LENGTH]; struct menu_state *menu_st = menu_state_get_ptr(); struct playlist_entry entry = {0}; @@ -7236,8 +7236,7 @@ static int action_ok_video_resolution(const char *path, if (video_driver_get_video_output_size(&width, &height, desc, sizeof(desc))) { - char msg[PATH_MAX_LENGTH]; - + char msg[128]; msg[0] = '\0'; #if defined(_WIN32) || defined(__PS3__) @@ -7668,7 +7667,7 @@ int action_ok_core_lock(const char *path, size_t _len; const char *core_name = NULL; core_info_t *core_info = NULL; - char msg[PATH_MAX_LENGTH]; + char msg[128]; /* Need to fetch core name for error message */ @@ -7729,7 +7728,7 @@ int action_ok_core_set_standalone_exempt(const char *path, size_t _len; const char *core_name = NULL; core_info_t *core_info = NULL; - char msg[PATH_MAX_LENGTH]; + char msg[128]; /* Need to fetch core name for error message */ @@ -7779,7 +7778,7 @@ static int action_ok_core_delete(const char *path, size_t _len; const char *core_name = NULL; core_info_t *core_info = NULL; - char msg[PATH_MAX_LENGTH]; + char msg[128]; /* Need to fetch core name for notification */ @@ -8058,7 +8057,7 @@ static int action_ok_playlist_refresh(const char *path, * scan record */ if (!scan_record_valid) { - char msg[PATH_MAX_LENGTH]; + char msg[128]; if (string_is_empty(msg_subject)) msg_subject = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE); fill_pathname_join_special(msg, msg_prefix, msg_subject, sizeof(msg)); diff --git a/menu/cbs/menu_cbs_right.c b/menu/cbs/menu_cbs_right.c index fa1a926c91..0ceef79cba 100644 --- a/menu/cbs/menu_cbs_right.c +++ b/menu/cbs/menu_cbs_right.c @@ -522,8 +522,8 @@ static int playlist_association_right(unsigned type, const char *label, return -1; /* Get current core path association */ - if (!string_is_empty(default_core_path) && - !string_is_equal(default_core_path, "DETECT")) + if ( !string_is_empty(default_core_path) + && !string_is_equal(default_core_path, "DETECT")) { const char *default_core_filename = path_basename(default_core_path); if (!string_is_empty(default_core_filename)) @@ -1006,22 +1006,22 @@ static int menu_cbs_init_bind_right_compare_type(menu_file_list_cbs_t *cbs, unsigned type, const char *menu_label) { #ifdef HAVE_CHEATS - if (type >= MENU_SETTINGS_CHEAT_BEGIN - && type <= MENU_SETTINGS_CHEAT_END) + if ( (type >= MENU_SETTINGS_CHEAT_BEGIN) + && (type <= MENU_SETTINGS_CHEAT_END)) { BIND_ACTION_RIGHT(cbs, action_right_cheat); } else #endif #ifdef HAVE_AUDIOMIXER - if (type >= MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_BEGIN - && type <= MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_END) + if ( (type >= MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_BEGIN) + && (type <= MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_END)) { BIND_ACTION_RIGHT(cbs, audio_mixer_stream_volume_right); } else #endif #if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL) - if (type >= MENU_SETTINGS_SHADER_PARAMETER_0 - && type <= MENU_SETTINGS_SHADER_PARAMETER_LAST) + if ( (type >= MENU_SETTINGS_SHADER_PARAMETER_0) + && (type <= MENU_SETTINGS_SHADER_PARAMETER_LAST)) { BIND_ACTION_RIGHT(cbs, shader_action_parameter_right); } diff --git a/menu/cbs/menu_cbs_start.c b/menu/cbs/menu_cbs_start.c index 6a0b94162b..b0fcec5f31 100644 --- a/menu/cbs/menu_cbs_start.c +++ b/menu/cbs/menu_cbs_start.c @@ -614,8 +614,7 @@ static int action_start_video_resolution( if (video_driver_get_video_output_size(&width, &height, desc, sizeof(desc))) { - char msg[PATH_MAX_LENGTH]; - + char msg[128]; msg[0] = '\0'; #if defined(_WIN32) || !defined(__PSL1GHT__) && !defined(__PS3__) @@ -709,7 +708,7 @@ static int action_start_core_lock( size_t _len; const char *core_name = NULL; core_info_t *core_info = NULL; - char msg[PATH_MAX_LENGTH]; + char msg[128]; /* Need to fetch core name for error message */ @@ -769,7 +768,7 @@ static int action_start_core_set_standalone_exempt( size_t _len; const char *core_name = NULL; core_info_t *core_info = NULL; - char msg[PATH_MAX_LENGTH]; + char msg[128]; /* Need to fetch core name for error message */ diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 19d530eddd..eea4026b3f 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -1642,7 +1642,7 @@ static unsigned menu_displaylist_parse_supported_cores(menu_displaylist_info_t * static unsigned menu_displaylist_parse_system_info(file_list_t *list) { - char entry[PATH_MAX_LENGTH]; + char entry[256]; char tmp[512]; unsigned count = 0; @@ -2299,9 +2299,9 @@ static int create_string_list_rdb_entry_string( file_list_t *list) { size_t _len; + char tmp[128]; struct string_list str_list; union string_list_elem_attr attr; - char tmp[PATH_MAX_LENGTH]; char *output_label = NULL; int str_len = 0; @@ -2352,11 +2352,10 @@ static int create_string_list_rdb_entry_int( struct string_list str_list; union string_list_elem_attr attr; char str[16]; - char tmp[PATH_MAX_LENGTH]; + char tmp[128]; char output_label[PATH_MAX_LENGTH]; int str_len = 0; - tmp[0] = '\0'; str[0] = '\0'; output_label[0] = '\0'; @@ -3776,7 +3775,7 @@ static int menu_displaylist_parse_horizontal_content_actions( break; case PLAYLIST_ENTRY_REMOVE_ENABLE_HIST_FAV: { - char system[PATH_MAX_LENGTH]; + char system[64]; struct menu_state *menu_st = menu_state_get_ptr(); system[0] = '\0'; @@ -3853,7 +3852,7 @@ static int menu_displaylist_parse_horizontal_content_actions( if (download_enabled) { - char system[PATH_MAX_LENGTH]; + char system[64]; struct menu_state *menu_st = menu_state_get_ptr(); system[0] = '\0'; @@ -4188,6 +4187,7 @@ static unsigned menu_displaylist_parse_cores( menu_displaylist_info_t *info) { size_t i, list_size; + char out_dir[PATH_MAX_LENGTH]; struct string_list *str_list = NULL; unsigned count = 0; const char *path = info->path; @@ -4225,17 +4225,14 @@ static unsigned menu_displaylist_parse_cores( } #endif - { - char out_dir[PATH_MAX_LENGTH]; - fill_pathname_parent_dir(out_dir, path, sizeof(out_dir)); + fill_pathname_parent_dir(out_dir, path, sizeof(out_dir)); - if (string_is_empty(out_dir)) - menu_entries_prepend(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PARENT_DIRECTORY), - path, - MENU_ENUM_LABEL_PARENT_DIRECTORY, - FILE_TYPE_PARENT_DIRECTORY, 0, 0); - } + if (string_is_empty(out_dir)) + menu_entries_prepend(info->list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PARENT_DIRECTORY), + path, + MENU_ENUM_LABEL_PARENT_DIRECTORY, + FILE_TYPE_PARENT_DIRECTORY, 0, 0); if (!str_list) { @@ -14561,7 +14558,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, case DISPLAYLIST_CORES: menu_entries_clear(info->list); { - char ext_name[PATH_MAX_LENGTH]; + char ext_name[16]; ext_name[0] = '\0'; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 9d59c7f5b8..d83d41fef5 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -8935,7 +8935,7 @@ static bool setting_append_list_input_player_options( parent_group); { - char tmp_string[PATH_MAX_LENGTH]; + char tmp_string[32]; static char device_index[MAX_USERS][64]; static char mouse_index[MAX_USERS][64]; diff --git a/tasks/task_core_backup.c b/tasks/task_core_backup.c index e7e0bc4f3b..68c48dc514 100644 --- a/tasks/task_core_backup.c +++ b/tasks/task_core_backup.c @@ -275,7 +275,7 @@ static void task_core_backup_handler(retro_task_t *task) case CORE_BACKUP_PRE_ITERATE: { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; char backup_path[PATH_MAX_LENGTH]; backup_path[0] = '\0'; @@ -416,7 +416,7 @@ static void task_core_backup_handler(retro_task_t *task) if (num_backups > backup_handle->auto_backup_history_size) { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Get number of old backups to remove */ backup_handle->num_auto_backups_to_remove = num_backups - @@ -487,7 +487,7 @@ static void task_core_backup_handler(retro_task_t *task) case CORE_BACKUP_END: { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Set final task title */ task_free_title(task); @@ -545,7 +545,7 @@ void *task_push_core_backup( const char *core_name = NULL; retro_task_t *task = NULL; core_backup_handle_t *backup_handle = NULL; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Sanity check */ if ( string_is_empty(core_path) @@ -751,7 +751,7 @@ static void task_core_restore_handler(retro_task_t *task) case CORE_RESTORE_PRE_ITERATE: { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Open backup file */ #if defined(HAVE_ZLIB) @@ -888,7 +888,7 @@ static void task_core_restore_handler(retro_task_t *task) case CORE_RESTORE_END: { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Set final task title */ task_free_title(task); @@ -946,8 +946,8 @@ bool task_push_core_restore(const char *backup_path, const char *dir_libretro, const char *core_name = NULL; retro_task_t *task = NULL; core_backup_handle_t *backup_handle = NULL; - char core_path[PATH_MAX_LENGTH]; char task_title[256]; + char core_path[PATH_MAX_LENGTH]; core_path[0] = '\0'; @@ -975,7 +975,7 @@ bool task_push_core_restore(const char *backup_path, const char *dir_libretro, if (backup_type == CORE_BACKUP_TYPE_INVALID) { const char *backup_filename = path_basename(backup_path); - char msg[PATH_MAX_LENGTH]; + char msg[128]; _len = strlcpy(msg, msg_hash_to_str(MSG_CORE_RESTORATION_INVALID_CONTENT), sizeof(msg)); @@ -1007,7 +1007,7 @@ bool task_push_core_restore(const char *backup_path, const char *dir_libretro, /* Check whether core is locked */ if (core_info_get_core_lock(core_path, true)) { - char msg[PATH_MAX_LENGTH]; + char msg[128]; _len = strlcpy(msg, (backup_type == CORE_BACKUP_TYPE_ARCHIVE) ? msg_hash_to_str(MSG_CORE_RESTORATION_DISABLED) diff --git a/tasks/task_core_updater.c b/tasks/task_core_updater.c index 450b3430bc..b5ab025dce 100644 --- a/tasks/task_core_updater.c +++ b/tasks/task_core_updater.c @@ -746,7 +746,7 @@ static void task_core_updater_download_handler(retro_task_t *task) if (download_handle->backup_task) { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Update task title */ task_free_title(task); @@ -811,7 +811,7 @@ static void task_core_updater_download_handler(retro_task_t *task) { size_t _len; file_transfer_t *transf = NULL; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Configure file transfer object */ if (!(transf = (file_transfer_t*)calloc(1, @@ -880,7 +880,7 @@ static void task_core_updater_download_handler(retro_task_t *task) if (download_handle->http_task_complete) { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Update task title */ task_free_title(task); @@ -938,7 +938,7 @@ static void task_core_updater_download_handler(retro_task_t *task) case CORE_UPDATER_DOWNLOAD_ERROR: { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Set final task title */ task_free_title(task); @@ -955,7 +955,7 @@ static void task_core_updater_download_handler(retro_task_t *task) case CORE_UPDATER_DOWNLOAD_END: { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Set final task title */ task_free_title(task); @@ -1007,7 +1007,7 @@ void *task_push_core_updater_download( { size_t _len; task_finder_data_t find_data; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; char local_download_path[PATH_MAX_LENGTH]; const core_updater_list_entry_t *list_entry = NULL; retro_task_t *task = NULL; @@ -1053,7 +1053,7 @@ void *task_push_core_updater_download( /* If task is not muted, generate notification */ if (!mute) { - char msg[PATH_MAX_LENGTH]; + char msg[128]; size_t _len = strlcpy(msg, msg_hash_to_str(MSG_CORE_UPDATE_DISABLED), sizeof(msg)); strlcpy(msg + _len, list_entry->display_name, sizeof(msg) - _len); @@ -1257,7 +1257,7 @@ static void task_update_installed_cores_handler(retro_task_t *task) if (core_installed) { - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; size_t _len = strlcpy( task_title, msg_hash_to_str(MSG_CHECKING_CORE), sizeof(task_title)); @@ -1353,7 +1353,7 @@ static void task_update_installed_cores_handler(retro_task_t *task) else { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Update task title */ task_free_title(task); @@ -1404,7 +1404,7 @@ static void task_update_installed_cores_handler(retro_task_t *task) * successfully */ if (update_installed_handle->list_size > 0) { - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; size_t _len = strlcpy(task_title, msg_hash_to_str(MSG_ALL_CORES_UPDATED), sizeof(task_title)); @@ -1837,7 +1837,7 @@ static void task_play_feature_delivery_core_install_handler( size_t _len; enum play_feature_delivery_install_status install_status; unsigned install_progress; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Get current install status */ bool install_active = play_feature_delivery_download_status( &install_status, &install_progress); @@ -1886,7 +1886,7 @@ static void task_play_feature_delivery_core_install_handler( case PLAY_FEATURE_DELIVERY_INSTALL_END: { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; const char *msg_str = msg_hash_to_str(MSG_CORE_INSTALL_FAILED); /* Set final task title */ @@ -1963,7 +1963,7 @@ void *task_push_play_feature_delivery_core_install( { size_t _len; task_finder_data_t find_data; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; const core_updater_list_entry_t *list_entry = NULL; retro_task_t *task = NULL; play_feature_delivery_install_handle_t *pfd_install_handle = (play_feature_delivery_install_handle_t*) @@ -2164,7 +2164,7 @@ static void task_play_feature_delivery_switch_cores_handler( if (core_installed) { - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; size_t _len = strlcpy(task_title, msg_hash_to_str(MSG_CHECKING_CORE), sizeof(task_title)); @@ -2230,7 +2230,7 @@ static void task_play_feature_delivery_switch_cores_handler( else { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Update task title */ task_free_title(task); diff --git a/tasks/task_manual_content_scan.c b/tasks/task_manual_content_scan.c index a4ac44d28d..663d7678cb 100644 --- a/tasks/task_manual_content_scan.c +++ b/tasks/task_manual_content_scan.c @@ -299,7 +299,7 @@ static void task_manual_content_scan_handler(retro_task_t *task) size_t _len; const char *entry_file = NULL; const char *entry_file_ext = NULL; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Update progress display */ task_free_title(task); @@ -363,7 +363,7 @@ static void task_manual_content_scan_handler(retro_task_t *task) if (!string_is_empty(content_path)) { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; const char *content_file = path_basename(content_path); /* Update progress display */ @@ -424,7 +424,7 @@ static void task_manual_content_scan_handler(retro_task_t *task) if (!string_is_empty(m3u_path)) { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; const char *m3u_name = path_basename_nocompression(m3u_path); m3u_file_t *m3u_file = NULL; @@ -474,7 +474,7 @@ static void task_manual_content_scan_handler(retro_task_t *task) case MANUAL_SCAN_END: { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Ensure playlist is alphabetically sorted * > Override user settings here */ @@ -530,7 +530,7 @@ bool task_push_manual_content_scan( { size_t _len; task_finder_data_t find_data; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; retro_task_t *task = NULL; manual_scan_handle_t *manual_scan = NULL; diff --git a/tasks/task_playlist_manager.c b/tasks/task_playlist_manager.c index e1cf4ac475..7d7a993097 100644 --- a/tasks/task_playlist_manager.c +++ b/tasks/task_playlist_manager.c @@ -193,8 +193,8 @@ static void task_pl_manager_reset_cores_handler(retro_task_t *task) if (entry) { size_t _len; + char task_title[128]; struct playlist_entry update_entry = {0}; - char task_title[PATH_MAX_LENGTH]; /* Update progress display */ task_free_title(task); _len = strlcpy(task_title, @@ -205,7 +205,7 @@ static void task_pl_manager_reset_cores_handler(retro_task_t *task) strlcpy(task_title + _len, entry->label, sizeof(task_title) - _len); else if (!string_is_empty(entry->path)) { - char entry_name[PATH_MAX_LENGTH]; + char entry_name[128]; fill_pathname_base(entry_name, entry->path, sizeof(entry_name)); path_remove_extension(entry_name); strlcat(task_title, entry_name, sizeof(task_title)); @@ -233,7 +233,7 @@ static void task_pl_manager_reset_cores_handler(retro_task_t *task) case PL_MANAGER_END: { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Save playlist changes to disk */ playlist_write_file(pl_manager->playlist); /* Update progress display */ @@ -281,8 +281,8 @@ bool task_push_pl_manager_reset_cores(const playlist_config_t *playlist_config) { size_t _len; task_finder_data_t find_data; + char task_title[128]; char playlist_name[PATH_MAX_LENGTH]; - char task_title[PATH_MAX_LENGTH]; retro_task_t *task = task_init(); pl_manager_handle_t *pl_manager = (pl_manager_handle_t*) calloc(1, sizeof(pl_manager_handle_t)); @@ -654,7 +654,7 @@ static void task_pl_manager_clean_playlist_handler(retro_task_t *task) case PL_MANAGER_END: { size_t _len; - char task_title[PATH_MAX_LENGTH]; + char task_title[128]; /* Save playlist changes to disk */ playlist_write_file(pl_manager->playlist); /* Update progress display */ @@ -705,8 +705,8 @@ bool task_push_pl_manager_clean_playlist( { size_t _len; task_finder_data_t find_data; + char task_title[128]; char playlist_name[PATH_MAX_LENGTH]; - char task_title[PATH_MAX_LENGTH]; retro_task_t *task = task_init(); pl_manager_handle_t *pl_manager = (pl_manager_handle_t*) calloc(1, sizeof(pl_manager_handle_t));