From d641930baf268844ceed4440a31e32f3049ef722 Mon Sep 17 00:00:00 2001 From: twinaphex <libretro@gmail.com> Date: Thu, 22 Sep 2016 23:10:11 +0200 Subject: [PATCH] Fix statement is unreachable warning --- libretro-common/file/archive_file.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/libretro-common/file/archive_file.c b/libretro-common/file/archive_file.c index 511fd6abf9..39ed009511 100644 --- a/libretro-common/file/archive_file.c +++ b/libretro-common/file/archive_file.c @@ -388,26 +388,21 @@ int file_archive_parse_file_iterate( state->type = ARCHIVE_TRANSFER_DEINIT_ERROR; break; case ARCHIVE_TRANSFER_ITERATE: + if (file_archive_get_file_backend(file)) { const struct file_archive_file_backend *backend = file_archive_get_file_backend(file); + int ret = backend->archive_parse_file_iterate_step(state, + valid_exts, userdata, file_cb); + if (ret != 1) + state->type = ARCHIVE_TRANSFER_DEINIT; + if (ret == -1) + state->type = ARCHIVE_TRANSFER_DEINIT_ERROR; - if (backend) - { - int ret = backend->archive_parse_file_iterate_step(state, - valid_exts, userdata, file_cb); - if (ret != 1) - state->type = ARCHIVE_TRANSFER_DEINIT; - if (ret == -1) - state->type = ARCHIVE_TRANSFER_DEINIT_ERROR; - - /* early return to prevent deinit from never firing */ - return 0; - } - else - return -1; + /* early return to prevent deinit from never firing */ + return 0; } - break; + return -1; case ARCHIVE_TRANSFER_DEINIT_ERROR: *returnerr = false; case ARCHIVE_TRANSFER_DEINIT: