Index: source/common/cmemory.h |
diff --git a/source/common/cmemory.h b/source/common/cmemory.h |
index 3041b56d1a14010dded80daa7bcf8827121491d0..a1211bdc3c4abc389b47336717c969b2fcb504a6 100644 |
--- a/source/common/cmemory.h |
+++ b/source/common/cmemory.h |
@@ -1,7 +1,9 @@ |
+// Copyright (C) 2016 and later: Unicode, Inc. and others. |
+// License & terms of use: http://www.unicode.org/copyright.html |
/* |
****************************************************************************** |
* |
-* Copyright (C) 1997-2015, International Business Machines |
+* Copyright (C) 1997-2016, International Business Machines |
* Corporation and others. All Rights Reserved. |
* |
****************************************************************************** |
@@ -153,6 +155,8 @@ U_NAMESPACE_BEGIN |
template<typename T> |
class LocalMemory : public LocalPointerBase<T> { |
public: |
+ using LocalPointerBase<T>::operator*; |
+ using LocalPointerBase<T>::operator->; |
/** |
* Constructor takes ownership. |
* @param p simple pointer to an array of T items that is adopted |
@@ -279,7 +283,7 @@ inline T *LocalMemory<T>::allocateInsteadAndCopy(int32_t newCapacity, int32_t le |
if(length>newCapacity) { |
length=newCapacity; |
} |
- uprv_memcpy(p, LocalPointerBase<T>::ptr, length*sizeof(T)); |
+ uprv_memcpy(p, LocalPointerBase<T>::ptr, (size_t)length*sizeof(T)); |
} |
uprv_free(LocalPointerBase<T>::ptr); |
LocalPointerBase<T>::ptr=p; |
@@ -426,7 +430,7 @@ inline T *MaybeStackArray<T, stackCapacity>::resize(int32_t newCapacity, int32_t |
if(length>newCapacity) { |
length=newCapacity; |
} |
- uprv_memcpy(p, ptr, length*sizeof(T)); |
+ uprv_memcpy(p, ptr, (size_t)length*sizeof(T)); |
} |
releaseArray(); |
ptr=p; |
@@ -457,7 +461,7 @@ inline T *MaybeStackArray<T, stackCapacity>::orphanOrClone(int32_t length, int32 |
if(p==NULL) { |
return NULL; |
} |
- uprv_memcpy(p, ptr, length*sizeof(T)); |
+ uprv_memcpy(p, ptr, (size_t)length*sizeof(T)); |
} |
resultCapacity=length; |
ptr=stackArray; |
@@ -605,7 +609,7 @@ inline H *MaybeStackHeaderAndArray<H, T, stackCapacity>::resize(int32_t newCapac |
length=newCapacity; |
} |
} |
- uprv_memcpy(p, ptr, sizeof(H)+length*sizeof(T)); |
+ uprv_memcpy(p, ptr, sizeof(H)+(size_t)length*sizeof(T)); |
releaseMemory(); |
ptr=p; |
capacity=newCapacity; |
@@ -636,7 +640,7 @@ inline H *MaybeStackHeaderAndArray<H, T, stackCapacity>::orphanOrClone(int32_t l |
if(p==NULL) { |
return NULL; |
} |
- uprv_memcpy(p, ptr, sizeof(H)+length*sizeof(T)); |
+ uprv_memcpy(p, ptr, sizeof(H)+(size_t)length*sizeof(T)); |
} |
resultCapacity=length; |
ptr=&stackHeader; |