diff options
Diffstat (limited to '7zip/Archive/Cab/CabHandler.cpp')
-rwxr-xr-x | 7zip/Archive/Cab/CabHandler.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/7zip/Archive/Cab/CabHandler.cpp b/7zip/Archive/Cab/CabHandler.cpp index bf97fc0f..83edaee5 100755 --- a/7zip/Archive/Cab/CabHandler.cpp +++ b/7zip/Archive/Cab/CabHandler.cpp @@ -119,17 +119,15 @@ STDMETHODIMP CHandler::GetProperty(UInt32 index, PROPID propID, PROPVARIANT *va switch(propID) { case kpidPath: + { + UString unicodeName; if (item.IsNameUTF()) - { - UString unicodeName; - if (!ConvertUTF8ToUnicode(item.Name, unicodeName)) - propVariant = L""; - else - propVariant = (const wchar_t *)NItemName::WinNameToOSName(unicodeName); - } + ConvertUTF8ToUnicode(item.Name, unicodeName); else - propVariant = MultiByteToUnicodeString(item.Name, CP_ACP); + unicodeName = MultiByteToUnicodeString(item.Name, CP_ACP); + propVariant = (const wchar_t *)NItemName::WinNameToOSName(unicodeName); break; + } case kpidIsFolder: propVariant = item.IsDirectory(); break; |