MCPcopy Create free account
hub / github.com/HelloBush/Java_MHXYdemo / copySA

Function copySA

lib/jacob-1.20_src/jacob-1.20/jni/SafeArray.cpp:87–106  ·  view source on GitHub ↗

deep copy a SAFEARRAY

Source from the content-addressed store, hash-verified

85
86// deep copy a SAFEARRAY
87SAFEARRAY *copySA(SAFEARRAY *psa)
88{
89 // easiest way to make a deep copy is to use VariantCopy
90 VARTYPE vt;
91 SafeArrayGetVartype(psa, &vt);
92 VARIANT v1, v2;
93
94 VariantInit(&v1);
95 VariantInit(&v2);
96 V_VT(&v1) = VT_ARRAY | vt;
97 V_ARRAY(&v1) = psa;
98 VariantCopy(&v2, &v1);
99 SAFEARRAY *sa = V_ARRAY(&v2);
100 VariantInit(&v2); // make sure it's not owned by this variant
101 VariantClear(&v2);
102 VariantInit(&v1);
103 VariantClear(&v1);
104
105 return sa;
106}
107
108// create a VARIANT wrapper for the safearray
109void setSA(JNIEnv *env, jobject arg, SAFEARRAY *sa, int copy)

Callers 2

setSAFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected