Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '7zip/Archive/Rar/RarHandler.cpp')
-rwxr-xr-x7zip/Archive/Rar/RarHandler.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/7zip/Archive/Rar/RarHandler.cpp b/7zip/Archive/Rar/RarHandler.cpp
index 56187156..cd654ec2 100755
--- a/7zip/Archive/Rar/RarHandler.cpp
+++ b/7zip/Archive/Rar/RarHandler.cpp
@@ -23,6 +23,7 @@
#include "../Common/CoderLoader.h"
#include "../Common/CodecsPath.h"
#include "../Common/FilterCoder.h"
+#include "../Common/ItemNameUtils.h"
#include "../7z/7zMethods.h"
@@ -186,11 +187,15 @@ STDMETHODIMP CHandler::GetProperty(UInt32 index, PROPID propID, PROPVARIANT *va
switch(propID)
{
case kpidPath:
+ {
+ UString u;
if (item.HasUnicodeName() && !item.UnicodeName.IsEmpty())
- propVariant = item.UnicodeName;
+ u = item.UnicodeName;
else
- propVariant = (const wchar_t *)MultiByteToUnicodeString(item.Name, CP_OEMCP);
+ u = MultiByteToUnicodeString(item.Name, CP_OEMCP);
+ propVariant = (const wchar_t *)NItemName::WinNameToOSName(u);
break;
+ }
case kpidIsFolder:
propVariant = item.IsDirectory();
break;