}
if ( availableNames == NULL ) {
- UVector *fNumsysNames = new UVector(uprv_deleteUObject, NULL, status);
+ LocalPointer<UVector> numsysNames(new UVector(uprv_deleteUObject, NULL, status), status);
if (U_FAILURE(status)) {
status = U_MEMORY_ALLOCATION_ERROR;
return NULL;
while ( ures_hasNext(numberingSystemsInfo) ) {
UResourceBundle *nsCurrent = ures_getNextResource(numberingSystemsInfo,NULL,&rbstatus);
const char *nsName = ures_getKey(nsCurrent);
- fNumsysNames->addElement(new UnicodeString(nsName, -1, US_INV),status);
+ numsysNames->addElement(new UnicodeString(nsName, -1, US_INV),status);
ures_close(nsCurrent);
}
ures_close(numberingSystemsInfo);
- availableNames = new NumsysNameEnumeration(fNumsysNames,status);
+ availableNames = new NumsysNameEnumeration(numsysNames.orphan(),status);
}
return availableNames;
}
-NumsysNameEnumeration::NumsysNameEnumeration(UVector *fNameList, UErrorCode& /*status*/) {
+NumsysNameEnumeration::NumsysNameEnumeration(UVector *numsysNames, UErrorCode& /*status*/) {
pos=0;
- fNumsysNames = fNameList;
+ fNumsysNames = numsysNames;
}
const UnicodeString*
/*
*******************************************************************************
-* Copyright (C) 2011, International Business Machines Corporation and
+* Copyright (C) 2015, International Business Machines Corporation and
* others. All Rights Reserved. *
*******************************************************************************
*
class NumsysNameEnumeration : public StringEnumeration {
public:
- NumsysNameEnumeration(UVector *fNumsysNames, UErrorCode& status);
+ // NumsysNameEnumeration instance adopts numsysNames
+ NumsysNameEnumeration(UVector *numsysNames, UErrorCode& status);
+
virtual ~NumsysNameEnumeration();
static UClassID U_EXPORT2 getStaticClassID(void);
virtual UClassID getDynamicClassID(void) const;