String encryptedPrivileges;
String checksum;
ArrayList* pPrivilegeList = null;
+ IEnumerator* pEnum = null;
ClearLastResult();
pReturnPrivilegeList = UnpackPrivilegeN(pTargetBitwisePrivilege);
SysTryCatch(NID_SEC, pReturnPrivilegeList != null, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] An unexpected system error occurred.");
+ pEnum = pPrivilegeList->GetEnumeratorN();
+ SysTryCatch(NID_SEC, pEnum != null, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] An unexpected system error occurred.");
+
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ String* tempString = static_cast< String* >(pEnum->GetCurrent());
+ pReturnPrivilegeList->Add(new String(*tempString));
+ }
+
// fall through
CATCH:
pTargetBitwisePrivilege = null;
}
+ if (pEnum)
+ {
+ delete pEnum;
+ }
+
return pReturnPrivilegeList;
}