提交 1da0f92d 编写于 作者: H hjxilinx

[td-98] add clone function for array

上级 f843a22b
...@@ -100,6 +100,12 @@ void taosArrayRemove(SArray* pArray, size_t index); ...@@ -100,6 +100,12 @@ void taosArrayRemove(SArray* pArray, size_t index);
*/ */
void taosArrayCopy(SArray* pDst, SArray* pSrc); void taosArrayCopy(SArray* pDst, SArray* pSrc);
/**
* clone a new array
* @param pSrc
*/
SArray* taosArrayClone(SArray* pSrc);
/** /**
* destroy array list * destroy array list
* @param pArray * @param pArray
......
...@@ -160,6 +160,21 @@ void taosArrayCopy(SArray* pDst, SArray* pSrc) { ...@@ -160,6 +160,21 @@ void taosArrayCopy(SArray* pDst, SArray* pSrc) {
pDst->size = pSrc->size; pDst->size = pSrc->size;
} }
SArray* taosArrayClone(SArray* pSrc) {
assert(pSrc != NULL);
if (pSrc->size == 0) { // empty array list
return taosArrayInit(8, pSrc->elemSize);
}
SArray* dst = taosArrayInit(pSrc->size, pSrc->elemSize);
memcpy(dst->pData, pSrc->pData, pSrc->elemSize * pSrc->size);
dst->size = pSrc->size;
return dst;
}
void taosArrayDestroy(SArray* pArray) { void taosArrayDestroy(SArray* pArray) {
if (pArray == NULL) { if (pArray == NULL) {
return; return;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册