From b0ebd3309425f2fab7597224e5c6a4c08f67908d Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 27 Dec 2016 02:14:35 +0100 Subject: [PATCH] (task_save.c) Cleanups --- tasks/task_save.c | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/tasks/task_save.c b/tasks/task_save.c index 83ff54597c..70d09050fd 100644 --- a/tasks/task_save.c +++ b/tasks/task_save.c @@ -594,32 +594,23 @@ static void task_save_handler(retro_task_t *task) if (state->written == state->size) { - char msg[1024]; + char *msg = NULL; settings_t *settings = config_get_ptr(); - msg[0] = '\0'; - if (task->title) free(task->title); task->title = NULL; if (state->undo_save) - { - strlcpy(msg, msg_hash_to_str(MSG_RESTORED_OLD_SAVE_STATE), - sizeof(msg)); - } + msg = strdup(msg_hash_to_str(MSG_RESTORED_OLD_SAVE_STATE)); + else if (settings->state_slot < 0) + msg = strdup(msg_hash_to_str(MSG_SAVED_STATE_TO_SLOT_AUTO)); else - { - if (settings->state_slot < 0) - strlcpy(msg, msg_hash_to_str(MSG_SAVED_STATE_TO_SLOT_AUTO), sizeof(msg)); - else - snprintf(msg, sizeof(msg), msg_hash_to_str(MSG_SAVED_STATE_TO_SLOT), - settings->state_slot); - } + msg = strdup(msg_hash_to_str(MSG_SAVED_STATE_TO_SLOT)); - if (!task->mute) - task->title = strdup(msg); + if (!task->mute && msg) + task->title = msg; task_save_handler_finished(task, state); } @@ -764,9 +755,7 @@ static void task_load_handler(retro_task_t *task) task->error = strdup(msg); } else - { task->error = strdup(msg_hash_to_str(MSG_FAILED_TO_LOAD_STATE)); - } free(state->data); state->data = NULL; @@ -792,8 +781,6 @@ static void task_load_handler(retro_task_t *task) msg_hash_to_str(MSG_AUTOLOADING_SAVESTATE_FROM), state->path, msg_hash_to_str(MSG_SUCCEEDED)); - if (!task->mute) - task->title = strdup(msg); } else { @@ -803,10 +790,11 @@ static void task_load_handler(retro_task_t *task) snprintf(msg, sizeof(msg), msg_hash_to_str(MSG_LOADED_STATE_FROM_SLOT), settings->state_slot); - if (!task->mute) - task->title = strdup(msg); } + if (!task->mute) + task->title = strdup(msg); + task_load_handler_finished(task, state); } @@ -991,7 +979,7 @@ error: static void save_state_cb(void *task_data, void *user_data, const char *error) { - settings_t *settings = config_get_ptr(); + settings_t *settings = config_get_ptr(); save_task_state_t *state = (save_task_state_t*)task_data; char *path = strdup(state->path);