diff --git a/icu4c/source/common/caniter.cpp b/icu4c/source/common/caniter.cpp index f8c965d0771..e1742a8c5af 100644 --- a/icu4c/source/common/caniter.cpp +++ b/icu4c/source/common/caniter.cpp @@ -624,7 +624,7 @@ Hashtable *CanonicalIterator::extract(UChar32 comp, const UChar *segment, int32_ if (decompPos == decompLen) { // done, have all decomp characters! //u_strcat(buff+bufLen, segment+i); - memcpy(buff+bufLen, segment+i, (segLen-i)*sizeof(UChar)); + uprv_memcpy(buff+bufLen, segment+i, (segLen-i)*sizeof(UChar)); bufLen+=segLen-i; ok = TRUE; diff --git a/icu4c/source/i18n/ucol.cpp b/icu4c/source/i18n/ucol.cpp index 2d4e8a49276..e369b7b6a8c 100644 --- a/icu4c/source/i18n/ucol.cpp +++ b/icu4c/source/i18n/ucol.cpp @@ -6552,7 +6552,7 @@ ucol_safeClone(const UCollator *coll, void *stackBuffer, int32_t * pBufferSize, } } else { localCollator = (UCollator *)stackBuffer; - memcpy(localCollator, coll, sizeof(UCollator)); + uprv_memcpy(localCollator, coll, sizeof(UCollator)); localCollator->freeOnClose = FALSE; localCollator->requestedLocale = NULL; // zero copies of pointers localCollator->validLocale = NULL; diff --git a/icu4c/source/i18n/ucol_elm.cpp b/icu4c/source/i18n/ucol_elm.cpp index ad69f23352d..1acd4f98c7b 100644 --- a/icu4c/source/i18n/ucol_elm.cpp +++ b/icu4c/source/i18n/ucol_elm.cpp @@ -1325,7 +1325,7 @@ uprv_uca_assembleTable(tempUCATable *t, UErrorCode *status) { /* copy expansions */ /*myData->expansion = (uint32_t *)dataStart+tableOffset;*/ myData->expansion = tableOffset; - memcpy(dataStart+tableOffset, expansions->CEs, expansions->position*sizeof(uint32_t)); + uprv_memcpy(dataStart+tableOffset, expansions->CEs, expansions->position*sizeof(uint32_t)); tableOffset += (uint32_t)(paddedsize(expansions->position*sizeof(uint32_t))); /* contractions block */ @@ -1333,13 +1333,13 @@ uprv_uca_assembleTable(tempUCATable *t, UErrorCode *status) { /* copy contraction index */ /*myData->contractionIndex = (UChar *)(dataStart+tableOffset);*/ myData->contractionIndex = tableOffset; - memcpy(dataStart+tableOffset, contractions->codePoints, contractionsSize*sizeof(UChar)); + uprv_memcpy(dataStart+tableOffset, contractions->codePoints, contractionsSize*sizeof(UChar)); tableOffset += (uint32_t)(paddedsize(contractionsSize*sizeof(UChar))); /* copy contraction collation elements */ /*myData->contractionCEs = (uint32_t *)(dataStart+tableOffset);*/ myData->contractionCEs = tableOffset; - memcpy(dataStart+tableOffset, contractions->CEs, contractionsSize*sizeof(uint32_t)); + uprv_memcpy(dataStart+tableOffset, contractions->CEs, contractionsSize*sizeof(uint32_t)); tableOffset += (uint32_t)(paddedsize(contractionsSize*sizeof(uint32_t))); } else { myData->contractionIndex = 0; @@ -1349,7 +1349,7 @@ uprv_uca_assembleTable(tempUCATable *t, UErrorCode *status) { /* copy mapping table */ /*myData->mappingPosition = dataStart+tableOffset;*/ /*myData->mappingPosition = tableOffset;*/ - /*memcpy(dataStart+tableOffset, flattened, mappingSize);*/ + /*uprv_memcpy(dataStart+tableOffset, flattened, mappingSize);*/ myData->mappingPosition = tableOffset; utrie_serialize(mapping, dataStart+tableOffset, toAllocate-tableOffset, getFoldedValue, FALSE, status); diff --git a/icu4c/source/i18n/ucol_tok.cpp b/icu4c/source/i18n/ucol_tok.cpp index 874e7b9653b..698374eb04b 100644 --- a/icu4c/source/i18n/ucol_tok.cpp +++ b/icu4c/source/i18n/ucol_tok.cpp @@ -1369,8 +1369,8 @@ uint32_t ucol_tok_assembleTokenList(UColTokenParser *src, UParseError *parseErro } else if(sourceToken->expansion == 0) { /* if there is no expansion, implicit is just added to the token */ sourceToken->expansion = expandNext; } else { /* there is both explicit and implicit expansion. We need to make a combination */ - memcpy(src->extraCurrent, src->source + (expandNext & 0xFFFFFF), (expandNext >> 24)*sizeof(UChar)); - memcpy(src->extraCurrent+(expandNext >> 24), src->source + src->parsedToken.extensionOffset, src->parsedToken.extensionLen*sizeof(UChar)); + uprv_memcpy(src->extraCurrent, src->source + (expandNext & 0xFFFFFF), (expandNext >> 24)*sizeof(UChar)); + uprv_memcpy(src->extraCurrent+(expandNext >> 24), src->source + src->parsedToken.extensionOffset, src->parsedToken.extensionLen*sizeof(UChar)); sourceToken->expansion = (uint32_t)(((expandNext >> 24) + src->parsedToken.extensionLen)<<24 | (src->extraCurrent - src->source)); src->extraCurrent += (expandNext >> 24) + src->parsedToken.extensionLen; }