On Wed Feb 8 14:21:38 2023 +0000, Jason Millard wrote:
Something like this?
for (i = 0; i < count; i++) { V_VT(&data[i]) = VT_BSTR; V_BSTR(&data[i]) = SysAllocStringLen(string + start, indices[i] - start); if (!V_BSTR(&data[i])) { hres = E_OUTOFMEMORY; SafeArrayUnaccessData(sa); goto error; } start = indices[i]+delimiterlen; }
Yes, but you could just use `break;` for error handling to avoid duplicating `SafeArrayUnaccessData` call.