OSDN Git Service

GetFileCount() APIが実装されていないライブラリで書庫を開けないバグを修正。
authorsirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Mon, 12 Dec 2011 10:47:45 +0000 (10:47 +0000)
committersirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Mon, 12 Dec 2011 10:47:45 +0000 (10:47 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@583 9df91469-1e22-0410-86e7-ea8537beb833

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

index 2939d52..1927dbf 100644 (file)
@@ -18,6 +18,7 @@
    <li><a href="license.txt">License</a></li>\r
    <li><br /></li>\r
    <li>History:</li>\r
+   <li><a href="#v0.01beta14">0.01&beta;14</a></li>\r
    <li><a href="#v0.01beta13">0.01&beta;13</a></li>\r
    <li><a href="#v0.01beta12">0.01&beta;12</a></li>\r
    <li><a href="#v0.01beta11">0.01&beta;11</a></li>\r
   </ul>\r
 \r
   <h2>History</h2>\r
+  <h3 id="v0.01beta14">Ver.0.01&beta;14 (2012/--/--)</h3>\r
+  <dl>\r
+   <dt>calLibrary</dt>\r
+   <dd>\r
+    <ul>\r
+     <li class="fix">GetFileCount()が実装されていないライブラリで書庫を開けないバグを修正。</li>\r
+    </ul>\r
+   </dd>\r
+  </dl>\r
+\r
   <h3 id="v0.01beta13">Ver.0.01&beta;13 (2011/10/18)</h3>\r
   <dl>\r
    <dt>Lychee</dt>\r
index 4889b6d..c74eb86 100644 (file)
@@ -706,19 +706,17 @@ int __stdcall OpenArchive
        if (_nFileCount != NULL)\r
        {\r
                fpProc = ::GetAPIAddress("GetFileCount", true);\r
-               if (fpProc == NULL)\r
-               {\r
-                       return TPI_ERROR_U_USE_LIBRARY;\r
-               }\r
-\r
-               int n = g_LibInfo.fUnicode\r
-                       ? ((int (__stdcall *)(const wchar_t *)) fpProc)(_szArcName.wchar_str())\r
-                       : ((int (__stdcall *)(const char *)) fpProc)(_szArcName.ToUTF8());\r
-               if (n == -1)\r
+               if (fpProc != NULL)\r
                {\r
-                       return TPI_ERROR_ARC_UNSUPPORTED;\r
+                       int n = g_LibInfo.fUnicode\r
+                               ? ((int (__stdcall *)(const wchar_t *)) fpProc)(_szArcName.wchar_str())\r
+                               : ((int (__stdcall *)(const char *)) fpProc)(_szArcName.ToUTF8());\r
+                       if (n < 0)\r
+                       {\r
+                               n = 0;\r
+                       }\r
+                       * _nFileCount = n;\r
                }\r
-               * _nFileCount = n;\r
        }\r
 \r
        fpProc = ::GetAPIAddress("OpenArchive", true);\r