From 565407e3a1f3e952b6fa311763c86b0650fd4293 Mon Sep 17 00:00:00 2001 From: TheLastRar Date: Sat, 14 Dec 2024 14:47:56 +0000 Subject: [PATCH] 3rdparty/libchdr: Purge now unused patches --- 3rdparty/libchdr/include/libchdr/chd.h | 7 +-- 3rdparty/libchdr/src/libchdr_chd.c | 70 +++++++------------------- 2 files changed, 18 insertions(+), 59 deletions(-) diff --git a/3rdparty/libchdr/include/libchdr/chd.h b/3rdparty/libchdr/include/libchdr/chd.h index d1e7a81dd16bc..8ae37740a12b3 100644 --- a/3rdparty/libchdr/include/libchdr/chd.h +++ b/3rdparty/libchdr/include/libchdr/chd.h @@ -290,8 +290,7 @@ enum _chd_error CHDERR_INVALID_STATE, CHDERR_OPERATION_PENDING, CHDERR_NO_ASYNC_OPERATION, - CHDERR_UNSUPPORTED_FORMAT, - CHDERR_CANCELLED, + CHDERR_UNSUPPORTED_FORMAT }; typedef enum _chd_error chd_error; @@ -383,7 +382,6 @@ CHD_EXPORT chd_error chd_open(const char *filename, int mode, chd_file *parent, /* precache underlying file */ CHD_EXPORT chd_error chd_precache(chd_file *chd); -CHD_EXPORT chd_error chd_precache_progress(chd_file* chd, bool(*progress)(size_t pos, size_t total, void* param), void* param); /* close a CHD file */ CHD_EXPORT void chd_close(chd_file *chd); @@ -391,9 +389,6 @@ CHD_EXPORT void chd_close(chd_file *chd); /* return the associated core_file */ CHD_EXPORT core_file *chd_core_file(chd_file *chd); -/* return the overall size of a CHD, and any of its parents */ -CHD_EXPORT UINT64 chd_get_compressed_size(chd_file* chd); - /* return an error string for the given CHD error */ CHD_EXPORT const char *chd_error_string(chd_error err); diff --git a/3rdparty/libchdr/src/libchdr_chd.c b/3rdparty/libchdr/src/libchdr_chd.c index cac9720a172e1..972fc6102c0ce 100644 --- a/3rdparty/libchdr/src/libchdr_chd.c +++ b/3rdparty/libchdr/src/libchdr_chd.c @@ -1953,56 +1953,28 @@ CHD_EXPORT chd_error chd_open_core_file(core_file *file, int mode, chd_file *par CHD_EXPORT chd_error chd_precache(chd_file* chd) { - return chd_precache_progress(chd, NULL, NULL); -} - -CHD_EXPORT chd_error chd_precache_progress(chd_file* chd, bool(*progress)(size_t pos, size_t total, void* param), void* param) -{ -#define PRECACHE_CHUNK_SIZE 16 * 1024 * 1024 + INT64 count; + UINT64 size; - if (chd->file_cache == NULL) - { - const UINT64 size = core_fsize(chd->file); - if ((INT64)size <= 0) - return CHDERR_INVALID_DATA; - - if (size > SIZE_MAX) + if (chd->file_cache == NULL) + { + size = core_fsize(chd->file); + if ((INT64)size <= 0) + return CHDERR_INVALID_DATA; + chd->file_cache = malloc(size); + if (chd->file_cache == NULL) return CHDERR_OUT_OF_MEMORY; - - chd->file_cache = malloc(size); - if (chd->file_cache == NULL) - return CHDERR_OUT_OF_MEMORY; - core_fseek(chd->file, 0, SEEK_SET); - - UINT64 done = 0; - while (done < size) + core_fseek(chd->file, 0, SEEK_SET); + count = core_fread(chd->file, chd->file_cache, size); + if (count != size) { - UINT64 req_count = size - done; - if (req_count > PRECACHE_CHUNK_SIZE) - req_count = PRECACHE_CHUNK_SIZE; - - size_t count = core_fread(chd->file, chd->file_cache + (size_t)done, (size_t)req_count); - if (count != (size_t)req_count) - { - free(chd->file_cache); - chd->file_cache = NULL; - return CHDERR_READ_ERROR; - } - - done += req_count; - if (progress != NULL) - { - if (!progress(done, size, param)) - { - free(chd->file_cache); - chd->file_cache = NULL; - return CHDERR_CANCELLED; - } - } + free(chd->file_cache); + chd->file_cache = NULL; + return CHDERR_READ_ERROR; } - } + } - return CHDERR_NONE; + return CHDERR_NONE; } /*------------------------------------------------- @@ -2169,14 +2141,6 @@ CHD_EXPORT core_file *chd_core_file(chd_file *chd) return chd->file; } -CHD_EXPORT UINT64 chd_get_compressed_size(chd_file *chd) -{ - UINT64 size = chd->file->fsize(chd->file); - if (chd->parent) - size += chd_get_compressed_size(chd->parent); - return size; -} - /*------------------------------------------------- chd_error_string - return an error string for the given CHD error