mirror of
https://github.com/libretro/RetroArch
synced 2025-03-25 16:44:01 +00:00
- Make some functions static in command.c
- Set returntype to size_t for some functions, avoid strlen
This commit is contained in:
parent
ef1b325978
commit
9376b99ea6
68
command.c
68
command.c
@ -1164,9 +1164,10 @@ void command_event_init_controllers(rarch_system_info_t *sys_info,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_CONFIGFILE
|
#ifdef HAVE_CONFIGFILE
|
||||||
bool command_event_save_config(
|
static size_t command_event_save_config(
|
||||||
const char *config_path, char *s, size_t len)
|
const char *config_path, char *s, size_t len)
|
||||||
{
|
{
|
||||||
|
size_t _len = 0;
|
||||||
bool path_exists = !string_is_empty(config_path);
|
bool path_exists = !string_is_empty(config_path);
|
||||||
const char *str = path_exists ? config_path :
|
const char *str = path_exists ? config_path :
|
||||||
path_get(RARCH_PATH_CONFIG);
|
path_get(RARCH_PATH_CONFIG);
|
||||||
@ -1180,74 +1181,56 @@ bool command_event_save_config(
|
|||||||
#if IOS
|
#if IOS
|
||||||
char tmp[PATH_MAX_LENGTH] = {0};
|
char tmp[PATH_MAX_LENGTH] = {0};
|
||||||
fill_pathname_abbreviate_special(tmp, config_path, sizeof(tmp));
|
fill_pathname_abbreviate_special(tmp, config_path, sizeof(tmp));
|
||||||
snprintf(s, len, "%s \"%s\".",
|
_len = snprintf(s, len, "%s \"%s\".",
|
||||||
msg_hash_to_str(MSG_SAVED_NEW_CONFIG_TO),
|
msg_hash_to_str(MSG_SAVED_NEW_CONFIG_TO),
|
||||||
tmp);
|
tmp);
|
||||||
#else
|
#else
|
||||||
snprintf(s, len, "%s \"%s\".",
|
_len = snprintf(s, len, "%s \"%s\".",
|
||||||
msg_hash_to_str(MSG_SAVED_NEW_CONFIG_TO),
|
msg_hash_to_str(MSG_SAVED_NEW_CONFIG_TO),
|
||||||
config_path);
|
config_path);
|
||||||
#endif
|
#endif
|
||||||
RARCH_LOG("[Config]: %s\n", s);
|
RARCH_LOG("[Config]: %s\n", s);
|
||||||
return true;
|
return _len;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!string_is_empty(str))
|
if (!string_is_empty(str))
|
||||||
{
|
{
|
||||||
snprintf(s, len, "%s \"%s\".",
|
_len = snprintf(s, len, "%s \"%s\".",
|
||||||
msg_hash_to_str(MSG_FAILED_SAVING_CONFIG_TO),
|
msg_hash_to_str(MSG_FAILED_SAVING_CONFIG_TO),
|
||||||
str);
|
str);
|
||||||
RARCH_ERR("[Config]: %s\n", s);
|
RARCH_ERR("[Config]: %s\n", s);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return _len;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void command_event_undo_save_state(char *s, size_t len)
|
static size_t command_event_undo_save_state(char *s, size_t len)
|
||||||
{
|
{
|
||||||
if (content_undo_save_buf_is_empty())
|
if (content_undo_save_buf_is_empty())
|
||||||
{
|
return strlcpy(s,
|
||||||
strlcpy(s,
|
|
||||||
msg_hash_to_str(MSG_NO_SAVE_STATE_HAS_BEEN_OVERWRITTEN_YET), len);
|
msg_hash_to_str(MSG_NO_SAVE_STATE_HAS_BEEN_OVERWRITTEN_YET), len);
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!content_undo_save_state())
|
if (!content_undo_save_state())
|
||||||
{
|
return strlcpy(s,
|
||||||
strlcpy(s,
|
|
||||||
msg_hash_to_str(MSG_FAILED_TO_UNDO_SAVE_STATE), len);
|
msg_hash_to_str(MSG_FAILED_TO_UNDO_SAVE_STATE), len);
|
||||||
return;
|
return strlcpy(s,
|
||||||
}
|
|
||||||
|
|
||||||
strlcpy(s,
|
|
||||||
msg_hash_to_str(MSG_UNDOING_SAVE_STATE), len);
|
msg_hash_to_str(MSG_UNDOING_SAVE_STATE), len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void command_event_undo_load_state(char *s, size_t len)
|
static size_t command_event_undo_load_state(char *s, size_t len)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (content_undo_load_buf_is_empty())
|
if (content_undo_load_buf_is_empty())
|
||||||
{
|
return strlcpy(s,
|
||||||
strlcpy(s,
|
|
||||||
msg_hash_to_str(MSG_NO_STATE_HAS_BEEN_LOADED_YET),
|
msg_hash_to_str(MSG_NO_STATE_HAS_BEEN_LOADED_YET),
|
||||||
len);
|
len);
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!content_undo_load_state())
|
if (!content_undo_load_state())
|
||||||
{
|
return snprintf(s, len, "%s \"%s\".",
|
||||||
snprintf(s, len, "%s \"%s\".",
|
|
||||||
msg_hash_to_str(MSG_FAILED_TO_UNDO_LOAD_STATE),
|
msg_hash_to_str(MSG_FAILED_TO_UNDO_LOAD_STATE),
|
||||||
"RAM");
|
"RAM");
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef HAVE_NETWORKING
|
#ifdef HAVE_NETWORKING
|
||||||
netplay_driver_ctl(RARCH_NETPLAY_CTL_LOAD_SAVESTATE, NULL);
|
netplay_driver_ctl(RARCH_NETPLAY_CTL_LOAD_SAVESTATE, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
return strlcpy(s,
|
||||||
strlcpy(s,
|
|
||||||
msg_hash_to_str(MSG_UNDID_LOAD_STATE), len);
|
msg_hash_to_str(MSG_UNDID_LOAD_STATE), len);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1902,11 +1885,11 @@ bool command_event_save_core_config(
|
|||||||
/* In case of collision, find an alternative name. */
|
/* In case of collision, find an alternative name. */
|
||||||
for (i = 0; i < 16; i++)
|
for (i = 0; i < 16; i++)
|
||||||
{
|
{
|
||||||
size_t _len = strlcpy(tmp, config_path, sizeof(tmp));
|
size_t __len = strlcpy(tmp, config_path, sizeof(tmp));
|
||||||
|
|
||||||
if (i)
|
if (i)
|
||||||
_len += snprintf(tmp + _len, sizeof(tmp) - _len, "-%u", i);
|
__len += snprintf(tmp + __len, sizeof(tmp) - __len, "-%u", i);
|
||||||
strlcpy(tmp + _len, ".cfg", sizeof(tmp) - _len);
|
strlcpy(tmp + __len, ".cfg", sizeof(tmp) - __len);
|
||||||
|
|
||||||
if (!path_is_valid(tmp))
|
if (!path_is_valid(tmp))
|
||||||
{
|
{
|
||||||
@ -1937,8 +1920,7 @@ bool command_event_save_core_config(
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_CONFIGFILE
|
#ifdef HAVE_CONFIGFILE
|
||||||
command_event_save_config(config_path, msg, sizeof(msg));
|
_len = command_event_save_config(config_path, msg, sizeof(msg));
|
||||||
_len = strlen(msg);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (_len > 0)
|
if (_len > 0)
|
||||||
@ -1983,8 +1965,8 @@ void command_event_save_current_config(enum override_type type)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
command_event_save_config(path_get(RARCH_PATH_CONFIG), msg, sizeof(msg));
|
_len = command_event_save_config(path_get(RARCH_PATH_CONFIG), msg, sizeof(msg));
|
||||||
runloop_msg_queue_push(msg, strlen(msg), 1, 180, true, NULL,
|
runloop_msg_queue_push(msg, _len, 1, 180, true, NULL,
|
||||||
MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
|
MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2160,15 +2142,13 @@ bool command_event_main_state(unsigned cmd)
|
|||||||
movie_stop(input_st);
|
movie_stop(input_st);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
command_event_undo_load_state(msg, sizeof(msg));
|
_len = command_event_undo_load_state(msg, sizeof(msg));
|
||||||
_len = strlen(msg);
|
|
||||||
ret = true;
|
ret = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case CMD_EVENT_UNDO_SAVE_STATE:
|
case CMD_EVENT_UNDO_SAVE_STATE:
|
||||||
command_event_undo_save_state(msg, sizeof(msg));
|
_len = command_event_undo_save_state(msg, sizeof(msg));
|
||||||
_len = strlen(msg);
|
ret = true;
|
||||||
ret = true;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
10
command.h
10
command.h
@ -334,16 +334,6 @@ command_t* command_uds_new(void);
|
|||||||
|
|
||||||
bool command_network_send(const char *cmd_);
|
bool command_network_send(const char *cmd_);
|
||||||
|
|
||||||
#ifdef HAVE_CONFIGFILE
|
|
||||||
bool command_event_save_config(
|
|
||||||
const char *config_path,
|
|
||||||
char *s, size_t len);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void command_event_undo_save_state(char *s, size_t len);
|
|
||||||
|
|
||||||
void command_event_undo_load_state(char *s, size_t len);
|
|
||||||
|
|
||||||
void command_event_set_mixer_volume(
|
void command_event_set_mixer_volume(
|
||||||
settings_t *settings,
|
settings_t *settings,
|
||||||
float gain);
|
float gain);
|
||||||
|
28
retroarch.c
28
retroarch.c
@ -1267,19 +1267,16 @@ static void driver_find_last(const char *label, char *s, size_t len)
|
|||||||
*
|
*
|
||||||
* Find previous driver in driver array.
|
* Find previous driver in driver array.
|
||||||
**/
|
**/
|
||||||
static bool driver_find_prev(const char *label, char *s, size_t len)
|
static size_t driver_find_prev(const char *label, char *s, size_t len)
|
||||||
{
|
{
|
||||||
int i = driver_find_index(label, s);
|
int i = driver_find_index(label, s);
|
||||||
|
|
||||||
if (i > 0)
|
if (i > 0)
|
||||||
{
|
return find_driver_nonempty(label, i - 1, s, len);
|
||||||
find_driver_nonempty(label, i - 1, s, len);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
RARCH_WARN(
|
RARCH_WARN(
|
||||||
"Couldn't find any previous driver (current one: \"%s\").\n", s);
|
"Couldn't find any previous driver (current one: \"%s\").\n", s);
|
||||||
return false;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1290,20 +1287,15 @@ static bool driver_find_prev(const char *label, char *s, size_t len)
|
|||||||
*
|
*
|
||||||
* Find next driver in driver array.
|
* Find next driver in driver array.
|
||||||
**/
|
**/
|
||||||
static bool driver_find_next(const char *label, char *s, size_t len)
|
static size_t driver_find_next(const char *label, char *s, size_t len)
|
||||||
{
|
{
|
||||||
int i = driver_find_index(label, s);
|
int i = driver_find_index(label, s);
|
||||||
|
|
||||||
if (i >= 0 && string_is_not_equal(s, "null"))
|
if (i >= 0 && string_is_not_equal(s, "null"))
|
||||||
{
|
return find_driver_nonempty(label, i + 1, s, len);
|
||||||
find_driver_nonempty(label, i + 1, s, len);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
RARCH_WARN("%s (current one: \"%s\").\n",
|
RARCH_WARN("%s (current one: \"%s\").\n",
|
||||||
msg_hash_to_str(MSG_COULD_NOT_FIND_ANY_NEXT_DRIVER),
|
msg_hash_to_str(MSG_COULD_NOT_FIND_ANY_NEXT_DRIVER),
|
||||||
s);
|
s);
|
||||||
return false;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static float audio_driver_monitor_adjust_system_rates(
|
static float audio_driver_monitor_adjust_system_rates(
|
||||||
@ -2005,11 +1997,11 @@ bool driver_ctl(enum driver_ctl_state state, void *data)
|
|||||||
case RARCH_DRIVER_CTL_FIND_PREV:
|
case RARCH_DRIVER_CTL_FIND_PREV:
|
||||||
if (!drv)
|
if (!drv)
|
||||||
return false;
|
return false;
|
||||||
return driver_find_prev(drv->label, drv->s, drv->len);
|
return (bool)driver_find_prev(drv->label, drv->s, drv->len);
|
||||||
case RARCH_DRIVER_CTL_FIND_NEXT:
|
case RARCH_DRIVER_CTL_FIND_NEXT:
|
||||||
if (!drv)
|
if (!drv)
|
||||||
return false;
|
return false;
|
||||||
return driver_find_next(drv->label, drv->s, drv->len);
|
return (bool)driver_find_next(drv->label, drv->s, drv->len);
|
||||||
case RARCH_DRIVER_CTL_NONE:
|
case RARCH_DRIVER_CTL_NONE:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -8383,8 +8375,8 @@ bool retroarch_main_quit(void)
|
|||||||
|
|
||||||
if (!(runloop_st->flags & RUNLOOP_FLAG_SHUTDOWN_INITIATED))
|
if (!(runloop_st->flags & RUNLOOP_FLAG_SHUTDOWN_INITIATED))
|
||||||
{
|
{
|
||||||
if (settings->bools.savestate_auto_save &&
|
if ( settings->bools.savestate_auto_save
|
||||||
runloop_st->current_core_type != CORE_TYPE_DUMMY)
|
&& runloop_st->current_core_type != CORE_TYPE_DUMMY)
|
||||||
command_event_save_auto_state();
|
command_event_save_auto_state();
|
||||||
|
|
||||||
/* If any save states are in progress, wait
|
/* If any save states are in progress, wait
|
||||||
|
Loading…
x
Reference in New Issue
Block a user