# HG changeset patch # User Rubidium # Date 2023-06-20 20:58:37 # Node ID 28ccca9de1b0814208e448cf1c702f09f405486c # Parent fbc880266fa603e3a7cab961347b0b1ffc83f007 Codechange: replace memcpy when copying DParams diff --git a/src/strings.cpp b/src/strings.cpp --- a/src/strings.cpp +++ b/src/strings.cpp @@ -159,7 +159,7 @@ void SetDParamMaxDigits(size_t n, uint c */ 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 */ 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 ch /* 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 --- 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 {