diff options
author | Igor Pavlov <ipavlov@users.sourceforge.net> | 2008-05-05 04:00:00 +0400 |
---|---|---|
committer | Kornel LesiĆski <kornel@geekhood.net> | 2016-05-28 02:15:55 +0300 |
commit | 3901bf0ab88106a5b031cba7bc18d60cdebf7eef (patch) | |
tree | 808a2489abed822223b118b64e0553db80af6087 /CPP/7zip/UI/Agent/AgentProxy.cpp | |
parent | bd1fa36322ac27f5715433b388742893d6524516 (diff) |
4.58 beta
Diffstat (limited to 'CPP/7zip/UI/Agent/AgentProxy.cpp')
-rwxr-xr-x | CPP/7zip/UI/Agent/AgentProxy.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/CPP/7zip/UI/Agent/AgentProxy.cpp b/CPP/7zip/UI/Agent/AgentProxy.cpp index bb0d0530..a50a26c7 100755 --- a/CPP/7zip/UI/Agent/AgentProxy.cpp +++ b/CPP/7zip/UI/Agent/AgentProxy.cpp @@ -228,7 +228,20 @@ HRESULT CProxyArchive::ReadObjects(IInArchive *archive, IProgress *progress) CProxyFolder *currentItem = &RootFolder; UString fileName; if(propVariantPath.vt == VT_EMPTY) + { fileName = DefaultName; + + NCOM::CPropVariant prop; + RINOK(archive->GetProperty(i, kpidExtension, &prop)); + if (prop.vt == VT_BSTR) + { + fileName += L'.'; + fileName += prop.bstrVal; + } + else if (prop.vt != VT_EMPTY) + return E_FAIL; + + } else { if(propVariantPath.vt != VT_BSTR) |