From 771134eb522ff676dc26dcab07b630e96a5e4ed8 Mon Sep 17 00:00:00 2001 From: Tim Van den Langenbergh Date: Sun, 28 Jul 2019 15:52:48 +0200 Subject: [PATCH] More C89 compatibility fixes --- libretro-common/playlists/label_sanitization.c | 3 ++- menu/cbs/menu_cbs_get_value.c | 10 ++++++++-- menu/cbs/menu_cbs_left.c | 3 ++- menu/cbs/menu_cbs_right.c | 3 ++- menu/menu_displaylist.c | 3 +-- playlist.c | 2 +- 6 files changed, 16 insertions(+), 8 deletions(-) diff --git a/libretro-common/playlists/label_sanitization.c b/libretro-common/playlists/label_sanitization.c index e47da1160d..faa6903504 100644 --- a/libretro-common/playlists/label_sanitization.c +++ b/libretro-common/playlists/label_sanitization.c @@ -21,6 +21,7 @@ */ #include +#include #include #include @@ -32,7 +33,7 @@ void label_sanitize(char *label, size_t size, bool (*left)(char*), bool (*right) bool copy = true; int rindex = 0; int lindex = 0; - char new_label[size]; + char new_label[PATH_MAX_LENGTH]; for (; lindex < size && label[lindex] != '\0'; lindex++) { diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index d71d7cfc11..b5f1c0211c 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -1106,14 +1106,20 @@ static void menu_action_setting_disp_set_label_playlist_label_display_mode( const char *path, char *s2, size_t len2) { + enum playlist_label_display_mode label_display_mode; + int msg_index; playlist_t *playlist = playlist_get_cached(); - enum playlist_label_display_mode label_display_mode = playlist_get_label_display_mode(playlist); + + if (!playlist) + return; + + label_display_mode = playlist_get_label_display_mode(playlist); *w = 19; strlcpy(s2, path, len2); - int msg_index = (int)label_display_mode; + msg_index = (int)label_display_mode; msg_index = msg_index * 3; msg_index = msg_index + (int)MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT; diff --git a/menu/cbs/menu_cbs_left.c b/menu/cbs/menu_cbs_left.c index 007dd1eebb..62bc13bf35 100644 --- a/menu/cbs/menu_cbs_left.c +++ b/menu/cbs/menu_cbs_left.c @@ -437,12 +437,13 @@ static int playlist_association_left(unsigned type, const char *label, static int playlist_label_display_mode_left(unsigned type, const char *label, bool wraparound) { + enum playlist_label_display_mode label_display_mode; playlist_t *playlist = playlist_get_cached(); if (!playlist) return -1; - enum playlist_label_display_mode label_display_mode = playlist_get_label_display_mode(playlist); + label_display_mode = playlist_get_label_display_mode(playlist); if (label_display_mode != LABEL_DISPLAY_MODE_DEFAULT) label_display_mode = (enum playlist_label_display_mode)((int)label_display_mode - 1); diff --git a/menu/cbs/menu_cbs_right.c b/menu/cbs/menu_cbs_right.c index f371fbe8f2..3abfc17c1f 100644 --- a/menu/cbs/menu_cbs_right.c +++ b/menu/cbs/menu_cbs_right.c @@ -550,12 +550,13 @@ static int playlist_association_right(unsigned type, const char *label, static int playlist_label_display_mode_right(unsigned type, const char *label, bool wraparound) { + enum playlist_label_display_mode label_display_mode; playlist_t *playlist = playlist_get_cached(); if (!playlist) return -1; - enum playlist_label_display_mode label_display_mode = playlist_get_label_display_mode(playlist); + label_display_mode = playlist_get_label_display_mode(playlist); if (label_display_mode != LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX) label_display_mode = (enum playlist_label_display_mode)((int)label_display_mode + 1); diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 1a449571d8..4168225426 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -850,6 +850,7 @@ static int menu_displaylist_parse_playlist(menu_displaylist_info_t *info, size_t list_size = playlist_size(playlist); settings_t *settings = config_get_ptr(); bool show_inline_core_name = false; + void (*sanitization)(char*, size_t); label_spacer[0] = '\0'; @@ -906,8 +907,6 @@ static int menu_displaylist_parse_playlist(menu_displaylist_info_t *info, /* Preallocate the file list */ file_list_reserve(info->list, list_size); - void (*sanitization)(char*, size_t); - switch (playlist_get_label_display_mode(playlist)) { case LABEL_DISPLAY_MODE_REMOVE_PARENTHESES : diff --git a/playlist.c b/playlist.c index d978090927..98a5ae9979 100644 --- a/playlist.c +++ b/playlist.c @@ -1222,10 +1222,10 @@ void playlist_write_file(playlist_t *playlist) else #endif { + char label_display_mode[4] = {0}; JSONContext context = {0}; context.writer = JSON_Writer_Create(NULL); context.file = file; - char label_display_mode[4] = {0}; if (!context.writer) {