From dd40c46d50f9f22643b828e80783d3576b9c1d50 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Mon, 15 Oct 2018 23:04:04 -0400 Subject: [PATCH] Fix menu warnings change offending bool return to int warning: cast between incompatible function types from '_Bool (*)(void)' to 'int (*)(void)' [-Wcast-function-type] forgot to remove -- typedef int (*menu_function)(void); Change-Id: Ie4c8d3ddb0fb7843c4ec584203350d658d6bee3e --- apps/alarm_menu.c | 6 +++--- apps/alarm_menu.h | 2 +- apps/debug_menu.c | 4 ++-- apps/debug_menu.h | 2 +- apps/enc_config.c | 8 ++++---- apps/enc_config.h | 2 +- apps/menu.h | 1 - apps/menus/eq_menu.c | 12 ++++++------ apps/menus/eq_menu.h | 2 +- apps/menus/main_menu.c | 20 ++++++++++++-------- apps/menus/playlist_menu.c | 8 +++----- apps/menus/radio_menu.c | 2 +- apps/menus/recording_menu.c | 11 ++++++----- apps/menus/settings_menu.c | 6 ++++-- apps/menus/time_menu.c | 2 +- apps/screens.c | 6 +++--- apps/screens.h | 2 +- apps/settings.c | 2 +- apps/sound_menu.h | 2 +- apps/tagtree.c | 8 ++++---- apps/tagtree.h | 4 ++-- apps/tree.c | 6 +++--- apps/tree.h | 2 +- 23 files changed, 62 insertions(+), 58 deletions(-) diff --git a/apps/alarm_menu.c b/apps/alarm_menu.c index 12bc03ca20..497747bd7b 100644 --- a/apps/alarm_menu.c +++ b/apps/alarm_menu.c @@ -50,7 +50,7 @@ static void speak_time(int hours, int minutes, bool speak_hours, bool enqueue) } } -bool alarm_screen(void) +int alarm_screen(void) { int h, m; bool done = false; @@ -188,10 +188,10 @@ bool alarm_screen(void) if(default_event_handler(button) == SYS_USB_CONNECTED) { rtc_enable_alarm(false); - return true; + return 1; } break; } } - return false; + return 0; } diff --git a/apps/alarm_menu.h b/apps/alarm_menu.h index 01b3d8681c..9f6f1e1059 100644 --- a/apps/alarm_menu.h +++ b/apps/alarm_menu.h @@ -21,6 +21,6 @@ #ifndef _ALARM_MENU_H #define _ALARM_MENU_H -bool alarm_screen(void); +int alarm_screen(void); #endif diff --git a/apps/debug_menu.c b/apps/debug_menu.c index dad9fe96c8..9cd2c9bb92 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c @@ -2708,14 +2708,14 @@ static const char* menu_get_name(int item, void * data, return menuitems[item].desc; } -bool debug_menu(void) +int debug_menu(void) { struct simplelist_info info; simplelist_info_init(&info, "Debug Menu", ARRAYLEN(menuitems), NULL); info.action_callback = menu_action_callback; info.get_name = menu_get_name; - return simplelist_show_list(&info); + return (simplelist_show_list(&info)) ? 1 : 0; } bool run_debug_screen(char* screen) diff --git a/apps/debug_menu.h b/apps/debug_menu.h index 664a1ba762..1335cb1395 100644 --- a/apps/debug_menu.h +++ b/apps/debug_menu.h @@ -21,7 +21,7 @@ #ifndef _DEBUG_MENU_H #define _DEBUG_MENU_H -bool debug_menu(void); +int debug_menu(void); bool run_debug_screen(char* screen); #endif diff --git a/apps/enc_config.c b/apps/enc_config.c index 07405cdac1..7741c293f0 100644 --- a/apps/enc_config.c +++ b/apps/enc_config.c @@ -440,7 +440,7 @@ void enc_global_settings_apply(void) /* Show an encoder's config menu based on the global_settings. Modified settings are placed in global_settings.enc_config. */ -bool enc_global_config_menu(void) +int enc_global_config_menu(void) { struct encoder_config cfg; @@ -453,12 +453,12 @@ bool enc_global_config_menu(void) { menu_callback_data.cfg = &cfg; menu_callback_data.global = true; - return do_menu(enc_data[cfg.rec_format].menu, NULL, NULL, false) - == MENU_ATTACHED_USB; + int retmenu = do_menu(enc_data[cfg.rec_format].menu, NULL, NULL, false); + return (retmenu == MENU_ATTACHED_USB) ? 1 : 0; } else { splash(HZ, ID2P(LANG_NO_SETTINGS)); - return false; + return 0; } } /* enc_global_config_menu */ diff --git a/apps/enc_config.h b/apps/enc_config.h index 8c6f2efef7..368bf8cf6c 100644 --- a/apps/enc_config.h +++ b/apps/enc_config.h @@ -71,5 +71,5 @@ void enc_global_settings_apply(void); /* Show an encoder's config menu based on the global_settings. Modified settings are placed in global_settings.enc_config. */ -bool enc_global_config_menu(void); +int enc_global_config_menu(void); #endif /* ENC_CONFIG_H */ diff --git a/apps/menu.h b/apps/menu.h index ee2d9e7f40..df5f7ced9f 100644 --- a/apps/menu.h +++ b/apps/menu.h @@ -41,7 +41,6 @@ enum menu_item_type { }; #define MENU_TYPE_MASK 0xF /* MT_* type */ -typedef int (*menu_function)(void); struct menu_func { union { int (*function_w_param)(void* param); /* intptr_t instead of void* diff --git a/apps/menus/eq_menu.c b/apps/menus/eq_menu.c index b9da3449a6..7cbf7b5d90 100644 --- a/apps/menus/eq_menu.c +++ b/apps/menus/eq_menu.c @@ -563,7 +563,7 @@ static void draw_eq_sliders(struct screen * screen, int x, int y, } /* Provides a graphical means of editing the EQ settings */ -bool eq_menu_graphical(void) +int eq_menu_graphical(void) { bool exit_request = false; bool result = true; @@ -753,10 +753,10 @@ bool eq_menu_graphical(void) screens[i].set_viewport(NULL); viewportmanager_theme_undo(i, false); } - return result; + return (result) ? 1 : 0; } -static bool eq_save_preset(void) +static int eq_save_preset(void) { /* make sure that the eq is enabled for setting saving */ bool enabled = global_settings.eq_enabled; @@ -766,16 +766,16 @@ static bool eq_save_preset(void) global_settings.eq_enabled = enabled; - return result; + return (result) ? 1 : 0; } /* Allows browsing of preset files */ static struct browse_folder_info eqs = { EQS_DIR, SHOW_CFG }; MENUITEM_FUNCTION(eq_graphical, 0, ID2P(LANG_EQUALIZER_GRAPHICAL), - (int(*)(void))eq_menu_graphical, NULL, lowlatency_callback, + eq_menu_graphical, NULL, lowlatency_callback, Icon_EQ); MENUITEM_FUNCTION(eq_save, 0, ID2P(LANG_EQUALIZER_SAVE), - (int(*)(void))eq_save_preset, NULL, NULL, Icon_NOICON); + eq_save_preset, NULL, NULL, Icon_NOICON); MENUITEM_FUNCTION(eq_browse, MENU_FUNC_USEPARAM, ID2P(LANG_EQUALIZER_BROWSE), browse_folder, (void*)&eqs, lowlatency_callback, Icon_NOICON); diff --git a/apps/menus/eq_menu.h b/apps/menus/eq_menu.h index 8147088c2b..04e8be2ead 100644 --- a/apps/menus/eq_menu.h +++ b/apps/menus/eq_menu.h @@ -40,7 +40,7 @@ #define EQ_USER_DIVISOR 10 bool eq_browse_presets(void); -bool eq_menu_graphical(void); +int eq_menu_graphical(void); /* utility functions for settings_list.c */ const char* eq_q_format(char* buffer, size_t buffer_size, int value, diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c index 8764101f73..139667cef4 100644 --- a/apps/menus/main_menu.c +++ b/apps/menus/main_menu.c @@ -111,7 +111,7 @@ MAKE_MENU(manage_settings, ID2P(LANG_MANAGE_MENU), NULL, Icon_Config, /* INFO MENU */ -static bool show_credits(void) +static int show_credits(void) { char credits[MAX_PATH] = { '\0' }; snprintf(credits, MAX_PATH, "%s/credits.rock", VIEWERS_DIR); @@ -122,7 +122,7 @@ static bool show_credits(void) while (IS_SYSEVENT(get_action(CONTEXT_STD, TIMEOUT_BLOCK))) ; } - return false; + return 0; } #ifdef HAVE_LCD_CHARCELLS @@ -357,7 +357,7 @@ static int info_action_callback(int action, struct gui_synclist *lists) } return action; } -static bool show_info(void) +static int show_info(void) { struct info_data data = {.new_data = true }; struct simplelist_info info; @@ -369,10 +369,12 @@ static bool show_info(void) if(global_settings.talk_menu) info.get_talk = info_speak_item; info.action_callback = info_action_callback; - return simplelist_show_list(&info); + return (simplelist_show_list(&info)) ? 1 : 0; } + + MENUITEM_FUNCTION(show_info_item, 0, ID2P(LANG_ROCKBOX_INFO), - (menu_function)show_info, NULL, NULL, Icon_NOICON); + show_info, NULL, NULL, Icon_NOICON); #if CONFIG_RTC int time_screen(void* ignored); @@ -381,11 +383,13 @@ MENUITEM_FUNCTION(timedate_item, MENU_FUNC_CHECK_RETVAL, ID2P(LANG_TIME_MENU), #endif MENUITEM_FUNCTION(show_credits_item, 0, ID2P(LANG_CREDITS), - (menu_function)show_credits, NULL, NULL, Icon_NOICON); + show_credits, NULL, NULL, Icon_NOICON); + MENUITEM_FUNCTION(show_runtime_item, 0, ID2P(LANG_RUNNING_TIME), - (menu_function)view_runtime, NULL, NULL, Icon_NOICON); + view_runtime, NULL, NULL, Icon_NOICON); + MENUITEM_FUNCTION(debug_menu_item, 0, ID2P(LANG_DEBUG), - (menu_function)debug_menu, NULL, NULL, Icon_NOICON); + debug_menu, NULL, NULL, Icon_NOICON); MAKE_MENU(info_menu, ID2P(LANG_SYSTEM), 0, Icon_System_menu, &show_info_item, &show_credits_item, diff --git a/apps/menus/playlist_menu.c b/apps/menus/playlist_menu.c index f4fa6bc653..175ca19959 100644 --- a/apps/menus/playlist_menu.c +++ b/apps/menus/playlist_menu.c @@ -75,15 +75,13 @@ static int playlist_view_(void) playlist_viewer_ex(NULL); return 0; } - MENUITEM_FUNCTION(create_playlist_item, 0, ID2P(LANG_CREATE_PLAYLIST), - (int(*)(void))create_playlist, NULL, NULL, Icon_NOICON); + create_playlist, NULL, NULL, Icon_NOICON); MENUITEM_FUNCTION(view_cur_playlist, 0, ID2P(LANG_VIEW_DYNAMIC_PLAYLIST), - (int(*)(void))playlist_view_, NULL, NULL, Icon_NOICON); + playlist_view_, NULL, NULL, Icon_NOICON); MENUITEM_FUNCTION(save_playlist, MENU_FUNC_USEPARAM, ID2P(LANG_SAVE_DYNAMIC_PLAYLIST), - (int(*)(void*))save_playlist_screen, - NULL, NULL, Icon_NOICON); + save_playlist_screen, NULL, NULL, Icon_NOICON); MENUITEM_SETTING(recursive_dir_insert, &global_settings.recursive_dir_insert, NULL); MENUITEM_SETTING(warn_on_erase, &global_settings.warnon_erase_dynplaylist, NULL); static int clear_catalog_directory(void) diff --git a/apps/menus/radio_menu.c b/apps/menus/radio_menu.c index 8ab7151c3e..fb3d2b7fee 100644 --- a/apps/menus/radio_menu.c +++ b/apps/menus/radio_menu.c @@ -59,7 +59,7 @@ MENUITEM_FUNCTION(recscreen_item, 0, ID2P(LANG_RECORDING), #define FM_RECORDING_SETTINGS static int fm_recording_settings(void) { - bool ret = recording_menu(true); + int ret = recording_menu(true); #if CONFIG_CODEC != SWCODEC if (!ret) diff --git a/apps/menus/recording_menu.c b/apps/menus/recording_menu.c index 5038b1abad..54dc415de7 100644 --- a/apps/menus/recording_menu.c +++ b/apps/menus/recording_menu.c @@ -307,7 +307,7 @@ MENUITEM_FUNCTION(recformat, 0, ID2P(LANG_RECORDING_FORMAT), recformat_func, NULL, NULL, Icon_Menu_setting); MENUITEM_FUNCTION(enc_global_config_menu_item, 0, ID2P(LANG_ENCODER_SETTINGS), - (int(*)(void))enc_global_config_menu, + enc_global_config_menu, NULL, NULL, Icon_Submenu); #endif /* CONFIG_CODEC == SWCODEC */ @@ -651,14 +651,15 @@ MAKE_MENU(recording_settings_menu, ID2P(LANG_RECORDING_SETTINGS), &browse_recconfigs, &save_recpresets_item ); -bool recording_menu(bool no_source) +int recording_menu(bool no_source) { - bool retval; + int retval; no_source_in_menu = no_source; - retval = do_menu(&recording_settings_menu, NULL, NULL, false) == MENU_ATTACHED_USB; + int retmenu = do_menu(&recording_settings_menu, NULL, NULL, false); + retval = (retmenu == MENU_ATTACHED_USB) ? 1 : 0; no_source_in_menu = false; /* always fall back to the default */ return retval; }; MENUITEM_FUNCTION(recording_settings, MENU_FUNC_USEPARAM, ID2P(LANG_RECORDING_SETTINGS), - (int (*)(void*))recording_menu, 0, NULL, Icon_Recording); + recording_menu, 0, NULL, Icon_Recording); diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c index 5c99cb4cd4..41734a9a63 100644 --- a/apps/menus/settings_menu.c +++ b/apps/menus/settings_menu.c @@ -152,11 +152,13 @@ MENUITEM_FUNCTION(tc_update, 0, ID2P(LANG_TAGCACHE_UPDATE), (int(*)(void))tagcache_update_with_splash, NULL, NULL, Icon_NOICON); MENUITEM_SETTING(runtimedb, &global_settings.runtimedb, NULL); + MENUITEM_FUNCTION(tc_export, 0, ID2P(LANG_TAGCACHE_EXPORT), - (int(*)(void))tagtree_export, NULL, + tagtree_export, NULL, NULL, Icon_NOICON); + MENUITEM_FUNCTION(tc_import, 0, ID2P(LANG_TAGCACHE_IMPORT), - (int(*)(void))tagtree_import, NULL, + tagtree_import, NULL, NULL, Icon_NOICON); MENUITEM_FUNCTION(tc_paths, 0, ID2P(LANG_SELECT_DATABASE_DIRS), dirs_to_scan, NULL, NULL, Icon_NOICON); diff --git a/apps/menus/time_menu.c b/apps/menus/time_menu.c index a6885a3dbc..93ca786cea 100644 --- a/apps/menus/time_menu.c +++ b/apps/menus/time_menu.c @@ -82,7 +82,7 @@ MENUITEM_FUNCTION(time_set, 0, ID2P(LANG_SET_TIME), MENUITEM_SETTING(timeformat, &global_settings.timeformat, NULL); #ifdef HAVE_RTC_ALARM MENUITEM_FUNCTION(alarm_screen_call, 0, ID2P(LANG_ALARM_MOD_ALARM_MENU), - (menu_function)alarm_screen, NULL, NULL, Icon_NOICON); + alarm_screen, NULL, NULL, Icon_NOICON); #if CONFIG_TUNER || defined(HAVE_RECORDING) #if CONFIG_TUNER && !defined(HAVE_RECORDING) diff --git a/apps/screens.c b/apps/screens.c index 0334329b5d..e203b446cf 100644 --- a/apps/screens.c +++ b/apps/screens.c @@ -830,7 +830,7 @@ static int runtime_speak_data(int selected_item, void* data) } -bool view_runtime(void) +int view_runtime(void) { static const char *lines[]={ID2P(LANG_CLEAR_TIME)}; static const struct text_message message={lines, 1}; @@ -869,9 +869,9 @@ bool view_runtime(void) } } if(default_event_handler(action) == SYS_USB_CONNECTED) - return true; + return 1; } - return false; + return 0; } #ifdef HAVE_TOUCHSCREEN diff --git a/apps/screens.h b/apps/screens.h index 7f2bc6ed0e..d8b697a2a0 100644 --- a/apps/screens.h +++ b/apps/screens.h @@ -43,7 +43,7 @@ bool set_time_screen(const char* title, struct tm *tm); bool shutdown_screen(void); bool browse_id3(void); -bool view_runtime(void); +int view_runtime(void); #ifdef HAVE_TOUCHSCREEN int calibrate(void); diff --git a/apps/settings.c b/apps/settings.c index 8afec9f806..9f3047e9df 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -1183,7 +1183,7 @@ bool set_bool_options(const char* string, const bool* variable, bool result; result = set_option(string, variable, BOOL, names, 2, - (void (*)(int))function); + (void (*)(int))(void (*)(void))function); return result; } diff --git a/apps/sound_menu.h b/apps/sound_menu.h index 611bda64d4..1ff2019a8f 100644 --- a/apps/sound_menu.h +++ b/apps/sound_menu.h @@ -21,7 +21,7 @@ #ifndef _SOUND_MENU_H #define _SOUND_MENU_H -bool recording_menu(bool no_source); +int recording_menu(bool no_source); int rectrigger(void); #endif diff --git a/apps/tagtree.c b/apps/tagtree.c index ba27c84f6a..c188a900fa 100644 --- a/apps/tagtree.c +++ b/apps/tagtree.c @@ -967,7 +967,7 @@ static void tagtree_track_finish_event(unsigned short id, void *ev_data) #endif } -bool tagtree_export(void) +int tagtree_export(void) { struct tagcache_search tcs; @@ -977,10 +977,10 @@ bool tagtree_export(void) splash(HZ*2, ID2P(LANG_FAILED)); } - return false; + return 0; } -bool tagtree_import(void) +int tagtree_import(void) { splash(0, ID2P(LANG_WAIT)); if (!tagcache_import_changelog()) @@ -988,7 +988,7 @@ bool tagtree_import(void) splash(HZ*2, ID2P(LANG_FAILED)); } - return false; + return 0; } static bool parse_menu(const char *filename); diff --git a/apps/tagtree.h b/apps/tagtree.h index 8369020371..427a602df6 100644 --- a/apps/tagtree.h +++ b/apps/tagtree.h @@ -31,8 +31,8 @@ #define TAGMENU_MAX_MENUS 32 #define TAGMENU_MAX_FMTS 32 -bool tagtree_export(void); -bool tagtree_import(void); +int tagtree_export(void); +int tagtree_import(void); void tagtree_init(void) INIT_ATTR; int tagtree_enter(struct tree_context* c); void tagtree_exit(struct tree_context* c); diff --git a/apps/tree.c b/apps/tree.c index 6b496919b0..16e0f988dc 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -912,7 +912,7 @@ static int dirbrowse(void) return true; } -bool create_playlist(void) +int create_playlist(void) { char filename[MAX_PATH + 16]; /* add enough space for extension */ @@ -924,14 +924,14 @@ bool create_playlist(void) if (kbd_input(filename, MAX_PATH)) - return false; + return 0; splashf(0, "%s %s", str(LANG_CREATING), filename); trigger_cpu_boost(); catalog_add_to_a_playlist(tc.currdir, ATTR_DIRECTORY, true, filename); cancel_cpu_boost(); - return true; + return 1; } void browse_context_init(struct browse_context *browse, diff --git a/apps/tree.h b/apps/tree.h index 1601447b58..77dc5da1b4 100644 --- a/apps/tree.h +++ b/apps/tree.h @@ -116,7 +116,7 @@ void browse_context_init(struct browse_context *browse, char *title, enum themable_icons icon, const char *root, const char *selected); int rockbox_browse(struct browse_context *browse); -bool create_playlist(void); +int create_playlist(void); void resume_directory(const char *dir); static inline void tree_lock_cache(struct tree_context *t) {