Lines Matching refs:pSrc
411 RTDECL(int) RTAsn1ObjId_Clone(PRTASN1OBJID pThis, PCRTASN1OBJID pSrc, PCRTASN1ALLOCATORVTABLE pAllocator)
413 AssertPtr(pSrc); AssertPtr(pThis); AssertPtr(pAllocator);
415 if (RTAsn1ObjId_IsPresent(pSrc))
417 AssertReturn(pSrc->Asn1Core.pOps == &g_RTAsn1ObjId_Vtable, VERR_INTERNAL_ERROR_3);
420 size_t cbObjId = strlen(pSrc->szObjId) + 1;
422 memcpy(pThis->szObjId, pSrc->szObjId, cbObjId);
430 pThis->cComponents = pSrc->cComponents;
433 if (pSrc->cComponents * sizeof(uint32_t) <= cbLeft)
435 pThis->pauComponents = (uint32_t *)&pThis->szObjId[sizeof(pThis->szObjId) - pSrc->cComponents * sizeof(uint32_t)];
436 memcpy((uint32_t *)pThis->pauComponents, pSrc->pauComponents, pSrc->cComponents * sizeof(uint32_t));
437 cbLeft -= pSrc->cComponents * sizeof(uint32_t);
443 rc = RTAsn1MemDup(&pThis->Allocation, (void **)&pThis->pauComponents, pSrc->pauComponents,
444 pSrc->cComponents * sizeof(uint32_t));
452 uint32_t cbContent = pSrc->Asn1Core.cb;
455 rc = RTAsn1Core_CloneNoContent(&pThis->Asn1Core, &pSrc->Asn1Core);
458 pThis->Asn1Core.uData.pv = memcpy(&pThis->szObjId[cbObjId], pSrc->Asn1Core.uData.pv, cbContent);
465 rc = RTAsn1Core_CloneContent(&pThis->Asn1Core, &pSrc->Asn1Core, pAllocator);