diff --git a/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp b/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp index 5540b6df5..71bcab6cb 100644 --- a/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp +++ b/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp @@ -118,7 +118,7 @@ namespace latinime { actualLength0 = i + 1; } actualLength0 = min(actualLength0, MAX_WORD_LENGTH); - memcpy(dest, src0, actualLength0 * sizeof(dest[0])); + memmove(dest, src0, actualLength0 * sizeof(dest[0])); if (!src1 || length1 == 0) { return actualLength0; } @@ -130,7 +130,7 @@ namespace latinime { actualLength1 = i + 1; } actualLength1 = min(actualLength1, MAX_WORD_LENGTH - actualLength0); - memcpy(&dest[actualLength0], src1, actualLength1 * sizeof(dest[0])); + memmove(&dest[actualLength0], src1, actualLength1 * sizeof(dest[0])); return actualLength0 + actualLength1; } } // namespace latinime diff --git a/native/jni/src/suggest/core/dicnode/internal/dic_node_state_output.h b/native/jni/src/suggest/core/dicnode/internal/dic_node_state_output.h index 74eb5dfe7..fc6851099 100644 --- a/native/jni/src/suggest/core/dicnode/internal/dic_node_state_output.h +++ b/native/jni/src/suggest/core/dicnode/internal/dic_node_state_output.h @@ -17,7 +17,7 @@ #ifndef LATINIME_DIC_NODE_STATE_OUTPUT_H #define LATINIME_DIC_NODE_STATE_OUTPUT_H -#include // for memcpy() +#include // for memmove() #include #include "defines.h" @@ -38,7 +38,7 @@ class DicNodeStateOutput { } void init(const DicNodeStateOutput *const stateOutput) { - memcpy(mCodePointsBuf, stateOutput->mCodePointsBuf, + memmove(mCodePointsBuf, stateOutput->mCodePointsBuf, stateOutput->mOutputtedCodePointCount * sizeof(mCodePointsBuf[0])); mOutputtedCodePointCount = stateOutput->mOutputtedCodePointCount; if (mOutputtedCodePointCount < MAX_WORD_LENGTH) { @@ -51,7 +51,7 @@ class DicNodeStateOutput { if (mergedNodeCodePoints) { const int additionalCodePointCount = min(static_cast(mergedNodeCodePointCount), MAX_WORD_LENGTH - mOutputtedCodePointCount); - memcpy(&mCodePointsBuf[mOutputtedCodePointCount], mergedNodeCodePoints, + memmove(&mCodePointsBuf[mOutputtedCodePointCount], mergedNodeCodePoints, additionalCodePointCount * sizeof(mCodePointsBuf[0])); mOutputtedCodePointCount = static_cast( mOutputtedCodePointCount + mergedNodeCodePointCount); diff --git a/native/jni/src/suggest/core/dicnode/internal/dic_node_state_prevword.h b/native/jni/src/suggest/core/dicnode/internal/dic_node_state_prevword.h index dba57056b..e7108d976 100644 --- a/native/jni/src/suggest/core/dicnode/internal/dic_node_state_prevword.h +++ b/native/jni/src/suggest/core/dicnode/internal/dic_node_state_prevword.h @@ -17,7 +17,7 @@ #ifndef LATINIME_DIC_NODE_STATE_PREVWORD_H #define LATINIME_DIC_NODE_STATE_PREVWORD_H -#include // for memset() +#include // for memset() and memmove() #include #include "defines.h" @@ -62,7 +62,7 @@ class DicNodeStatePrevWord { mPrevWordProbability = prevWord->mPrevWordProbability; mPrevWordPtNodePos = prevWord->mPrevWordPtNodePos; mSecondWordFirstInputIndex = prevWord->mSecondWordFirstInputIndex; - memcpy(mPrevWord, prevWord->mPrevWord, prevWord->mPrevWordLength * sizeof(mPrevWord[0])); + memmove(mPrevWord, prevWord->mPrevWord, prevWord->mPrevWordLength * sizeof(mPrevWord[0])); } void init(const int16_t prevWordCount, const int16_t prevWordProbability, diff --git a/native/jni/src/suggest/core/layout/proximity_info_state.cpp b/native/jni/src/suggest/core/layout/proximity_info_state.cpp index de99e2f0c..40c3448ef 100644 --- a/native/jni/src/suggest/core/layout/proximity_info_state.cpp +++ b/native/jni/src/suggest/core/layout/proximity_info_state.cpp @@ -18,7 +18,7 @@ #include "suggest/core/layout/proximity_info_state.h" -#include // for memset() and memcpy() +#include // for memset() and memmove() #include // for debug prints #include @@ -285,7 +285,7 @@ float ProximityInfoState::getDirection(const int index0, const int index1) const } float ProximityInfoState::getMostProbableString(int *const codePointBuf) const { - memcpy(codePointBuf, mMostProbableString, sizeof(mMostProbableString)); + memmove(codePointBuf, mMostProbableString, sizeof(mMostProbableString)); return mMostProbableStringProbability; }