OSDN Git Service

Unixで作成された書庫を開いた際、パーミッションを属性値として扱っていたバグを修正。
authorsirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Sun, 21 Nov 2010 11:33:39 +0000 (11:33 +0000)
committersirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Sun, 21 Nov 2010 11:33:39 +0000 (11:33 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@441 9df91469-1e22-0410-86e7-ea8537beb833

doc/history.html
src/plugin/rarArc/rarArc.cpp

index 72af33e..7dd9db3 100644 (file)
        <li class="chg">Unicodeだと問題が生じる場合が多いため、標準出力をUTF-8として読まないよう変更。</li>\r
       </ul>\r
      </dd>\r
+     <dt>rarArc</dt>\r
+     <dd>\r
+      <ul>\r
+       <li class="fix">Unixで作成された書庫を開いた際、パーミッションを属性値として扱っていたバグを修正。</li>\r
+      </ul>\r
+     </dd>\r
      <dt>spiLibrary</dt>\r
      <dd>\r
       <ul>\r
index 4bb7d34..05a930b 100644 (file)
@@ -289,7 +289,7 @@ int __stdcall GetFileInformation
        {\r
                s_nFileId = 0;\r
                pR = g_hLib.HasSymbol(wxT("RARReadHeaderEx")) ? g_hLib.GetSymbol(wxT("RARReadHeaderEx")) : NULL;\r
-               pP = g_hLib.HasSymbol(wxT("RARProcessFileW"))  ? g_hLib.GetSymbol(wxT("RARProcessFileW")) : NULL;\r
+               pP = g_hLib.HasSymbol(wxT("RARProcessFileW")) ? g_hLib.GetSymbol(wxT("RARProcessFileW")) : NULL;\r
                if (! pR || ! pP)\r
                {\r
                        return TPI_ERROR_U_USE_LIBRARY;\r
@@ -303,7 +303,14 @@ int __stdcall GetFileInformation
        nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, RARHeaderDataEx *)) pR)(_hArchive, & hdInfo));\r
        if (nErrorCode == TPI_ERROR_SUCCESS)\r
        {\r
-               _fiInfo->dwAttribute    = hdInfo.FileAttr;\r
+               if (hdInfo.HostOS == 3)\r
+               {\r
+                       _fiInfo->wPermission = hdInfo.FileAttr;\r
+               }\r
+               else\r
+               {\r
+                       _fiInfo->dwAttribute = hdInfo.FileAttr;\r
+               }\r
                if (hdInfo.Flags & 0x04)\r
                {\r
                        _fiInfo->dwAttribute |= TPI_ATTRIBUTE_ENCRYPTED;\r