\r
// GetPluginInfoを実行。\r
FARPROC fpProc = ::GetProcAddress(hXPI, "GetPluginInfo");\r
- char szTemp[20];\r
+ char szTemp[513];\r
+ memset(szTemp, 0, sizeof(szTemp));\r
if (fpProc == NULL\r
- || ((int (PASCAL *)(int, char *, int)) fpProc)(0, szTemp, sizeof(szTemp)) <= 0\r
- || szTemp[2] != 'X' || szTemp[3] != 'N'\r
- || ((int (PASCAL *)(int, char *, int)) fpProc)(2, szTemp, sizeof(szTemp)) <= 0)\r
+ || ((int (PASCAL *)(int, char *, int)) fpProc)(0, szTemp, sizeof(szTemp) - 1) <= 0\r
+ || szTemp[2] != 'X' || szTemp[3] != 'N')\r
{\r
::FreeLibrary(hXPI);\r
continue;\r
}\r
\r
+ _fiInfo->fnFileName = wxFileName(szArcName);\r
+ _fiInfo->fnFileName.SetVolume(wxEmptyString);\r
+ _fiInfo->fnFileName.SetPath(szXPIName);\r
+ if (((int (PASCAL *)(int, char *, int)) fpProc)(1, szTemp, sizeof(szTemp) - 1) > 0)\r
+ {\r
+ _fiInfo->szComment = MB2String(szTemp);\r
+ }\r
+ if (((int (PASCAL *)(int, char *, int)) fpProc)(2, szTemp, sizeof(szTemp) - 1) > 0)\r
+ {\r
+ _fiInfo->fnFileName.SetExt(MB2String(szTemp));\r
+ }\r
+ _fiInfo->szStoredName = _fiInfo->fnFileName.GetFullPath();\r
+\r
// 対応確認。\r
fpProc = ::GetProcAddress(hXPI, "IsSupported");\r
if (fpProc == NULL || ! ((BOOL (PASCAL *)(int)) fpProc)(nColorDepth))\r
::FreeLibrary(hXPI);\r
continue;\r
}\r
-\r
- _fiInfo->fnFileName = wxFileName(szArcName);\r
- _fiInfo->fnFileName.SetVolume(wxEmptyString);\r
- _fiInfo->fnFileName.SetPath(szXPIName);\r
- _fiInfo->fnFileName.SetExt(MB2String(szTemp));\r
- _fiInfo->szStoredName = _fiInfo->fnFileName.GetFullPath();\r
return TPI_ERROR_SUCCESS;\r
}\r
while (fs.GetNext(& szXPIName));\r
fpProc = ::GetProcAddress(g_hLib, "GetPluginInfo");\r
if (fpProc != NULL)\r
{\r
- char szTemp[20];\r
- if (((int (PASCAL *)(int, char *, int)) fpProc)(2, szTemp, sizeof(szTemp)) > 0)\r
+ char szTemp[513];\r
+ memset(szTemp, 0, sizeof(szTemp));\r
+ if (((int (PASCAL *)(int, char *, int)) fpProc)(1, szTemp, sizeof(szTemp) - 1) > 0)\r
+ {\r
+ _aiInfo->fiInfo.szEngineName = MB2String(szTemp);\r
+ }\r
+ if (((int (PASCAL *)(int, char *, int)) fpProc)(2, szTemp, sizeof(szTemp) - 1) > 0)\r
{\r
_aiInfo->fiInfo.szSuffix = MB2String(szTemp);\r
}\r
- if (((int (PASCAL *)(int, char *, int)) fpProc)(3, szTemp, sizeof(szTemp)) > 0)\r
+ if (((int (PASCAL *)(int, char *, int)) fpProc)(3, szTemp, sizeof(szTemp) - 1) > 0)\r
{\r
_aiInfo->fiInfo.szTypeName = MB2String(szTemp);\r
}\r