From fa8c50758b417d2641054badddcac73c6deb642a Mon Sep 17 00:00:00 2001 From: Rubidium Date: Tue, 20 Jun 2023 22:58:37 +0200 Subject: [PATCH] Codechange: replace memcpy when copying DParams --- src/strings.cpp | 6 +++--- src/strings_internal.h | 7 ------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/strings.cpp b/src/strings.cpp index f0d4d9102d..ac78e6a115 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -159,7 +159,7 @@ void SetDParamMaxDigits(size_t n, uint count, FontSize size) */ void CopyInDParam(const uint64 *src, int num) { - MemCpyT(_global_string_params.GetPointerToOffset(0), src, num); + for (int i = 0; i < num; i++) SetDParam(i, src[i]); } /** @@ -169,7 +169,7 @@ void CopyInDParam(const uint64 *src, int num) */ void CopyOutDParam(uint64 *dst, int num) { - MemCpyT(dst, _global_string_params.GetPointerToOffset(0), num); + for (int i = 0; i < num; i++) dst[i] = GetDParam(i); } /** @@ -185,13 +185,13 @@ void CopyOutDParam(uint64 *dst, const char **strings, StringID string, int num) /* Just get the string to extract the type information. */ GetString(string); - MemCpyT(dst, _global_string_params.GetPointerToOffset(0), num); for (int i = 0; i < num; i++) { if (_global_string_params.GetTypeAtOffset(i) == SCC_RAW_STRING_POINTER) { strings[i] = stredup((const char *)(size_t)_global_string_params.GetParam(i)); dst[i] = (size_t)strings[i]; } else { strings[i] = nullptr; + dst[i] = _global_string_params.GetParam(i); } } } diff --git a/src/strings_internal.h b/src/strings_internal.h index 8e32dccec9..d634a51c6e 100644 --- a/src/strings_internal.h +++ b/src/strings_internal.h @@ -123,13 +123,6 @@ public: return this->num_param - this->offset; } - /** Get a pointer to a specific element in the data array. */ - uint64 *GetPointerToOffset(size_t offset) const - { - assert(offset < this->num_param); - return &this->data[offset]; - } - /** Get the type of a specific element. */ WChar GetTypeAtOffset(size_t offset) const {