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

[td-98] add clone function for array

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