OSDN Git Service

CheckArchiveの役割を縮小して高速化。
authorsirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Thu, 23 Sep 2010 04:40:06 +0000 (04:40 +0000)
committersirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Thu, 23 Sep 2010 04:40:06 +0000 (04:40 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@336 9df91469-1e22-0410-86e7-ea8537beb833

src/plugin/spiLibrary/spiLibrary.cpp
src/plugin/xpiLibrary/xpiLibrary.cpp

index 9ce88a0..fa51bf4 100644 (file)
@@ -168,7 +168,7 @@ int __stdcall FreePlugin
 int __stdcall CheckArchive\r
 (\r
        const wxString & _szArcName,\r
-       wxULongLong_t * _llFileCount\r
+       wxULongLong_t *\r
 )\r
 {\r
        FARPROC fpProc = ::GetProcAddress(g_hLib, "IsSupported");\r
@@ -190,32 +190,8 @@ int __stdcall CheckArchive
                hFile.Close();\r
                return TPI_ERROR_IO_ARC_READ;\r
        }\r
-\r
-       if (! ((BOOL (PASCAL *)(const char *, unsigned long)) fpProc)(_szArcName.ToUTF8(), (unsigned long) buffer))\r
-       {\r
-               hFile.Close();\r
-               return TPI_ERROR_D_UNSUPPORTED;\r
-       }\r
        hFile.Close();\r
-\r
-       fpProc = ::GetProcAddress(g_hLib, "GetArchiveInfo");\r
-       if (fpProc == NULL)\r
-       {\r
-               return TPI_ERROR_U_USE_LIBRARY;\r
-       }\r
-\r
-       HLOCAL hMemory;\r
-       int nReturnCode = ErrorCodeConvert(((int (PASCAL *)(const char *, long, unsigned int, HLOCAL *)) fpProc)(_szArcName.ToUTF8(), 0, 0, & hMemory));\r
-       if (nReturnCode == TPI_ERROR_SUCCESS)\r
-       {\r
-               if (_llFileCount != NULL)\r
-               {\r
-                       * _llFileCount = ::LocalSize(hMemory) / sizeof(fileInfo);\r
-               }\r
-               ::LocalFree(hMemory);\r
-       }\r
-\r
-       return nReturnCode;\r
+       return ((BOOL (PASCAL *)(const char *, unsigned long)) fpProc)(_szArcName.ToUTF8(), (unsigned long) buffer) ? TPI_ERROR_SUCCESS : TPI_ERROR_D_UNSUPPORTED;\r
 }\r
 \r
 int __stdcall OpenArchive\r
index 309e2b0..9436c2e 100644 (file)
@@ -196,15 +196,8 @@ int __stdcall CheckArchive
                hFile.Close();\r
                return TPI_ERROR_IO_ARC_READ;\r
        }\r
-\r
-       if (! ((BOOL (PASCAL *)(const char *, unsigned long)) fpProc)(_szArcName.ToUTF8(), (unsigned long) buffer))\r
-       {\r
-               hFile.Close();\r
-               return TPI_ERROR_D_UNSUPPORTED;\r
-       }\r
        hFile.Close();\r
-\r
-       return TPI_ERROR_SUCCESS;\r
+       return ((BOOL (PASCAL *)(const char *, unsigned long)) fpProc)(_szArcName.ToUTF8(), (unsigned long) buffer) ? TPI_ERROR_SUCCESS : TPI_ERROR_D_UNSUPPORTED;\r
 }\r
 \r
 int __stdcall OpenArchive\r