// 拡張子のみ設定されている場合。\r
if (piInfo.fiInfo.szStoredName.IsEmpty())\r
{\r
- piInfo.fiInfo.szStoredName = this->fnArchive.GetName() + wxT('.') + piInfo.fiInfo.fnFileName.GetExt();\r
+ piInfo.fiInfo.szStoredName = this->fnArchive.GetName();\r
+ if (piInfo.fiInfo.fnFileName.HasExt())\r
+ {\r
+ piInfo.fiInfo.szStoredName += wxT('.') + piInfo.fiInfo.fnFileName.GetExt();\r
+ }\r
piInfo.fiInfo.fnFileName = wxFileName(piInfo.fiInfo.szStoredName);\r
}\r
\r
{\r
hArc->GetProperty(nIndex, kpidExtension, & prop);\r
_fiInfo->szStoredName.Empty();\r
- _fiInfo->fnFileName.SetExt(WC2String(prop.bstrVal));\r
+ _fiInfo->fnFileName.SetExt(prop.vt == VT_BSTR ? WC2String(prop.bstrVal) : (wxString) wxEmptyString);\r
}\r
hArc->GetProperty(nIndex, kpidMethod, & prop); _fiInfo->szMethod = prop.vt == VT_BSTR ? WC2String(prop.bstrVal) : (wxString) wxEmptyString;\r
hArc->GetProperty(nIndex, kpidComment, & prop); _fiInfo->szComment = prop.vt == VT_BSTR ? WC2String(prop.bstrVal) : (wxString) wxEmptyString;\r
GetFileInformation2(this->hArc, & this->piInfo.fiInfo, nIndex);\r
if (this->piInfo.fiInfo.szStoredName.IsEmpty())\r
{\r
- this->piInfo.fiInfo.szStoredName = this->fnArchive.GetName() + wxT('.') + this->piInfo.fiInfo.fnFileName.GetExt();\r
+ this->piInfo.fiInfo.szStoredName = this->fnArchive.GetName();\r
+ if (this->piInfo.fiInfo.fnFileName.HasExt())\r
+ {\r
+ this->piInfo.fiInfo.szStoredName += wxT('.') + this->piInfo.fiInfo.fnFileName.GetExt();\r
+ }\r
this->piInfo.fiInfo.fnFileName = wxFileName(this->piInfo.fiInfo.szStoredName);\r
}\r
\r
{\r
if (fiInfo.szStoredName.IsEmpty())\r
{\r
- fiInfo.szStoredName = fnArchive.GetName() + wxT('.') + fiInfo.fnFileName.GetExt();\r
+ fiInfo.szStoredName = fnArchive.GetName();\r
+ if (fiInfo.fnFileName.HasExt())\r
+ {\r
+ fiInfo.szStoredName += wxT('.') + fiInfo.fnFileName.GetExt();\r
+ }\r
}\r
if (_szFiles.Index(fiInfo.szStoredName) != wxNOT_FOUND)\r
{\r