mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-08 06:53:45 +00:00
ICU-11709 Fix leak in NumberingSystem::getAvailableNames; rename variables to avoid confusion
X-SVN-Rev: 37944
This commit is contained in:
parent
003c9da518
commit
4f8296e079
2 changed files with 9 additions and 7 deletions
|
@ -252,7 +252,7 @@ StringEnumeration* NumberingSystem::getAvailableNames(UErrorCode &status) {
|
|||
}
|
||||
|
||||
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;
|
||||
|
@ -270,21 +270,21 @@ StringEnumeration* NumberingSystem::getAvailableNames(UErrorCode &status) {
|
|||
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*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 2011, International Business Machines Corporation and
|
||||
* Copyright (C) 2015, International Business Machines Corporation and
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*
|
||||
|
@ -24,7 +24,9 @@ U_NAMESPACE_BEGIN
|
|||
|
||||
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;
|
||||
|
|
Loading…
Add table
Reference in a new issue