ClearLastResult();
result r = E_SUCCESS;
- _EncodingImpl* pEncodingImpl = new (std::nothrow) _EncodingImpl();
+ std::unique_ptr< _EncodingImpl > pEncodingImpl(new (std::nothrow) _EncodingImpl());
SysTryReturn(NID_TEXT, pEncodingImpl != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed", GetErrorMessage(E_OUT_OF_MEMORY));
r = pEncodingImpl->Construct(encodingType);
- SysTryCatch(NID_TEXT, (!IsFailed(r)), , r, "[%s] Encoder construct failed.", GetErrorMessage(r));
-
- return pEncodingImpl;
-
-CATCH:
- delete pEncodingImpl;
- return null;
+ SysTryReturn(NID_TEXT, !IsFailed(r), null, r , "[%s] Encoder construct failed.", GetErrorMessage(r));
+ return pEncodingImpl.release();
}
String