Merge "[3.0][ACR]Modify IteratorT/RandomIteratorT/PairIteratorT to satisfy the reqire...
[platform/framework/native/appfw.git] / src / text / FText_EncodingImpl.cpp
index 8a4c95e..92471e2 100644 (file)
@@ -537,21 +537,18 @@ _EncodingImpl::GetAvailableEncodingsImplN(void)
        ClearLastResult();
        result r = E_SUCCESS;
 
-       std::unique_ptr<LinkedList, AllElementsDeleter> pList(new (std::nothrow) LinkedList());
+       std::unique_ptr< LinkedList > pList(new (std::nothrow) LinkedList(SingleObjectDeleter));
 
        SysTryReturn(NID_TEXT, pList != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed", GetErrorMessage(E_OUT_OF_MEMORY));
 
        for (int i = 0; i < AVAILABLE_ENCODING_COUNT; i++)
        {
-               String* pEncodingStr = new (std::nothrow) String(availableEncodings[i]);
+               std::unique_ptr< String > pEncodingStr(new (std::nothrow) String(availableEncodings[i]));
                SysTryReturn(NID_TEXT, pEncodingStr, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed", GetErrorMessage(E_OUT_OF_MEMORY));
 
-               r = pList->Add(*pEncodingStr);
-               if(IsFailed(r))
-               {
-                       delete pEncodingStr;
-                       SysTryReturn(NID_TEXT, !IsFailed(r), null, r, "[%s] Unable to add encoding to list", GetErrorMessage(r));
-               }
+               r = pList->Add(*(pEncodingStr.get()));
+               SysTryReturn(NID_TEXT, !IsFailed(r), null, r, "[%s] Unable to add encoding to list", GetErrorMessage(r));
+               pEncodingStr.release();
        }
 
        return pList.release();