From 102cdbe9578d1e301f605052b51bdc4ccaba615e Mon Sep 17 00:00:00 2001 From: sirakaba Date: Sun, 18 Oct 2009 07:09:38 +0000 Subject: [PATCH] =?utf8?q?TPI=5FFORMATINFO=E3=81=AB=E5=BD=A2=E5=BC=8F?= =?utf8?q?=E5=90=8D=E3=81=A8=E6=8B=A1=E5=BC=B5=E5=AD=90=E3=82=92=E3=81=A7?= =?utf8?q?=E3=81=8D=E3=82=8B=E3=81=A0=E3=81=91=E6=A0=BC=E7=B4=8D=E3=81=99?= =?utf8?q?=E3=82=8B=E3=82=88=E3=81=86=E5=A4=89=E6=9B=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@62 9df91469-1e22-0410-86e7-ea8537beb833 --- bin/lib/calLibrary.xml | 10 +++++----- bin/lib/cuiWrapper.xml | 4 ++-- src/common/library/library.cpp | 7 ++++++- src/common/library/library.h | 1 + src/plugin/calLibrary/calLibrary.cpp | 20 ++++++++++---------- src/plugin/cuiWrapper/cuiWrapper.cpp | 4 ++-- src/plugin/spiLibrary/spiLibrary.cpp | 16 ++++++++++++++-- 7 files changed, 40 insertions(+), 22 deletions(-) diff --git a/bin/lib/calLibrary.xml b/bin/lib/calLibrary.xml index fe3a78b..002c224 100644 --- a/bin/lib/calLibrary.xml +++ b/bin/lib/calLibrary.xml @@ -30,7 +30,7 @@ - - - - - - - exinfo.dwFileSize; piInfo.fiInfo.uOSType = ex->uOSType; piInfo.fiInfo.wCompressRatio = ex->wRatio; - piInfo.fiInfo.szStoredName = MB2String(ex->exinfo.szSourceFileName); - piInfo.fiInfo.szMethod = MB2String(ex->szMode); + piInfo.fiInfo.szStoredName = UTF82String(ex->exinfo.szSourceFileName); + piInfo.fiInfo.szMethod = UTF82String(ex->szMode); // EXTRACTINGINFOEX -> TPI_PROCESSINFO•ÏŠ·B piInfo.llProcessedSize = ex->exinfo.dwWriteSize; - piInfo.fnDestination = wxFileName::FileName(MB2String(ex->exinfo.szDestFileName)); + piInfo.fnDestination = wxFileName::FileName(UTF82String(ex->exinfo.szDestFileName)); } piInfo.fiInfo.dwAttribute = 0; } @@ -189,12 +189,12 @@ BOOL __stdcall CallbackProc(HWND, unsigned int _uMsg, unsigned int _uState, void piInfo.fiInfo.llUnpackedSize = ex->llFileSize; piInfo.fiInfo.uOSType = ex->uOSType; piInfo.fiInfo.wCompressRatio = ex->wRatio; - piInfo.fiInfo.szStoredName = MB2String(ex->exinfo.szSourceFileName); - piInfo.fiInfo.szMethod = MB2String(ex->szMode); + piInfo.fiInfo.szStoredName = UTF82String(ex->exinfo.szSourceFileName); + piInfo.fiInfo.szMethod = UTF82String(ex->szMode); // EXTRACTINGINFOEX64 -> TPI_PROCESSINFO•ÏŠ·B piInfo.llProcessedSize = ex->llWriteSize; - piInfo.fnDestination = wxFileName::FileName(MB2String(ex->exinfo.szDestFileName)); + piInfo.fnDestination = wxFileName::FileName(UTF82String(ex->exinfo.szDestFileName)); } } piInfo.fiInfo.fnFileName = wxFileName::FileName(piInfo.fiInfo.szStoredName); @@ -640,8 +640,8 @@ int __stdcall GetFileInformation _fiInfo->llPackedSize = iiInfo.dwCompressedSize; _fiInfo->llUnpackedSize = iiInfo.dwOriginalSize; _fiInfo->tmModified.SetFromDOS(MAKELONG(iiInfo.wTime, iiInfo.wDate)); - _fiInfo->szStoredName = MB2String(iiInfo.szFileName); - _fiInfo->szMethod = MB2String(iiInfo.szMode); + _fiInfo->szStoredName = UTF82String(iiInfo.szFileName); + _fiInfo->szMethod = UTF82String(iiInfo.szMode); _fiInfo->wCompressRatio = iiInfo.wRatio; } _fiInfo->llFileID = s_uFileID++; @@ -674,7 +674,7 @@ int __stdcall GetArchiveInformation { char sz[2049]; ((int (__stdcall *)(void *, char *, const int)) fpProc)(_hArchive, sz, 2048); - s = MB2String(sz); + s = UTF82String(sz); } _aiInfo->fnArchive = wxFileName::FileName(s); } @@ -847,7 +847,7 @@ int __stdcall Command { char szTmpOut[2049]; nErrorCode = ((int (__stdcall *)(const HWND, const char *, char *, DWORD)) fpProc)(NULL, g_fExistUnicodeMode ? szCommandLineSend.ToUTF8() : szCommandLineSend.char_str(), szTmpOut, 2048); - szOutput = MB2String(szTmpOut); + szOutput = UTF82String(szTmpOut); } // ƒŒƒXƒ|ƒ“ƒXƒtƒ@ƒCƒ‹íœB diff --git a/src/plugin/cuiWrapper/cuiWrapper.cpp b/src/plugin/cuiWrapper/cuiWrapper.cpp index b962b01..f11a2a8 100644 --- a/src/plugin/cuiWrapper/cuiWrapper.cpp +++ b/src/plugin/cuiWrapper/cuiWrapper.cpp @@ -88,7 +88,7 @@ DWORD myExecute(wxString szCommandLine, wxString * szOutput, wxString szCwd, boo while (! feof(fp)) { fread(sz, sizeof(char), sizeof(sz) - 1, fp); - * szOutput += MB2String(sz); + * szOutput += UTF82String(sz); } // ::wxMessageBox(* szOutput); } @@ -139,7 +139,7 @@ DWORD myExecute(wxString szCommandLine, wxString * szOutput, wxString szCwd, boo { dwSize = 0; ::ReadFile(hRead, sz, sizeof(sz) - 1, & dwSize, NULL); - * szOutput += MB2String(sz); + * szOutput += UTF82String(sz); // ::MessageBoxA(NULL, sz, NULL, 0); } } diff --git a/src/plugin/spiLibrary/spiLibrary.cpp b/src/plugin/spiLibrary/spiLibrary.cpp index f83c2ee..90cd098 100644 --- a/src/plugin/spiLibrary/spiLibrary.cpp +++ b/src/plugin/spiLibrary/spiLibrary.cpp @@ -333,8 +333,20 @@ int __stdcall GetArchiveInformation TPI_ARCHIVEINFO * _aiInfo ) { -// _aiInfo->fiInfo.szTypeName = ; -// _aiInfo->fiInfo.szSuffix = ; + // GetPluginInfo‚ðŽÀsB + FARPROC fpProc = ::GetProcAddress(g_hLib, "GetPluginInfo"); + if (fpProc != NULL) + { + char szTemp[20]; + if (((int (PASCAL *)(int, char *, int)) fpProc)(2, szTemp, sizeof(szTemp)) > 0) + { + _aiInfo->fiInfo.szSuffix = MB2String(szTemp); + } + if (((int (PASCAL *)(int, char *, int)) fpProc)(3, szTemp, sizeof(szTemp)) > 0) + { + _aiInfo->fiInfo.szTypeName = MB2String(szTemp); + } + } _aiInfo->fiInfo.szTPIName = wxT("spiLibrary"); _aiInfo->fiInfo.llSupportedCommand = TPI_COMMAND_EXTRACT; -- 2.11.0