From c90d55ec2adeb5864f9629116f735457f296009a Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Sat, 7 Jul 2012 22:13:58 +0000 Subject: CmdLine: adopted, MimCmd not adopted yet git-svn-id: http://svn.miranda-ng.org/main/trunk@839 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/CmdLine/executable/MimCmd/MimCmd.cpp | 105 ------ plugins/CmdLine/executable/MimCmd/MimCmd.vcproj | 404 ------------------------ plugins/CmdLine/executable/MimCmd/commands.cpp | 239 -------------- plugins/CmdLine/executable/MimCmd/commands.h | 44 --- plugins/CmdLine/executable/MimCmd/common.h | 30 -- plugins/CmdLine/executable/MimCmd/langpack.cpp | 377 ---------------------- plugins/CmdLine/executable/MimCmd/langpack.h | 92 ------ plugins/CmdLine/executable/MimCmd/resource.h | 14 - plugins/CmdLine/executable/MimCmd/version.rc | 104 ------ 9 files changed, 1409 deletions(-) delete mode 100644 plugins/CmdLine/executable/MimCmd/MimCmd.cpp delete mode 100644 plugins/CmdLine/executable/MimCmd/MimCmd.vcproj delete mode 100644 plugins/CmdLine/executable/MimCmd/commands.cpp delete mode 100644 plugins/CmdLine/executable/MimCmd/commands.h delete mode 100644 plugins/CmdLine/executable/MimCmd/common.h delete mode 100644 plugins/CmdLine/executable/MimCmd/langpack.cpp delete mode 100644 plugins/CmdLine/executable/MimCmd/langpack.h delete mode 100644 plugins/CmdLine/executable/MimCmd/resource.h delete mode 100644 plugins/CmdLine/executable/MimCmd/version.rc (limited to 'plugins/CmdLine/executable') diff --git a/plugins/CmdLine/executable/MimCmd/MimCmd.cpp b/plugins/CmdLine/executable/MimCmd/MimCmd.cpp deleted file mode 100644 index 2709d6c034..0000000000 --- a/plugins/CmdLine/executable/MimCmd/MimCmd.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/* -CmdLine plugin for Miranda IM - -Copyright © 2007 Cristian Libotean - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#include "common.h" - -//why ?? -//Who's using it ? -PLUGINLINK *pluginLink; - -char *GetProgramName(char *programName, int size) -{ - char name[512]; - GetModuleFileName(GetModuleHandle(NULL), name, sizeof(name)); - char *p = strrchr(name, '\\'); - if (p) - { - STRNCPY(programName, p + 1, size); - } - else{ - STRNCPY(programName, name, size); - } - - return programName; -} - -void PrintUsage() -{ - char name[128]; - GetProgramName(name, sizeof(name)); - - lpprintf(Translate("%s usage:\n"), name); - lpprintf(Translate("%s [ [, ..]]\n"), name); - lpprintf(Translate("This will tell Miranda to run the specified command. The commands can have zero, one or more parameters. Use '%s help' to get a list of possible commands.\n"), name); - lpprintf(Translate("No command can have more than %d parameters\n"), MAX_ARGUMENTS - 1); -} - -void ShowVersion() -{ - char name[128]; - char message[1024]; - GetProgramName(name, sizeof(name)); - mir_snprintf(message, sizeof(message), Translate("%s version %s"), name, __VERSION_STRING); - - lpprintf("%s\n", message); -} - -int main(int argc, char *argv[]) -{ - int error = 0; - if ((argc == 2) && (strcmp(argv[1], "-v") == 0)) - { - ShowVersion(); - - return 0; - } - - if ((InitClient()) || (ConnectToMiranda()) || (GetKnownCommands()) || (LoadLangPackModule(sdCmdLine->mimFolder))) - { - LoadLangPackModule("."); - lpprintf(Translate("Could not create connection with Miranda or could not retrieve list of known commands.\n")); - error = MIMRES_NOMIRANDA; - } - else{ - if ((argc <= 1) || (argc > MAX_ARGUMENTS)) - { - PrintUsage(); - } - else{ - PReply reply = ParseCommand(argv, argc); - if (reply) - { - error = reply->code; - lpprintf("%s\n", reply->message); - } - else{ - lpprintf(Translate("Unknown command '%s'.\n"), argv[1]); - } - - DestroyKnownCommands(); - DisconnectFromMiranda(); - DestroyClient(); - LangPackShutdown(); - } - } - - return error; -} - diff --git a/plugins/CmdLine/executable/MimCmd/MimCmd.vcproj b/plugins/CmdLine/executable/MimCmd/MimCmd.vcproj deleted file mode 100644 index fb04bfb375..0000000000 --- a/plugins/CmdLine/executable/MimCmd/MimCmd.vcproj +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/CmdLine/executable/MimCmd/commands.cpp b/plugins/CmdLine/executable/MimCmd/commands.cpp deleted file mode 100644 index b04b9ba7ba..0000000000 --- a/plugins/CmdLine/executable/MimCmd/commands.cpp +++ /dev/null @@ -1,239 +0,0 @@ -/* -CmdLine plugin for Miranda IM - -Copyright © 2007 Cristian Libotean - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#include "commands.h" - -inline char *STRNCPY(char *output, const char *input, size_t size) -{ - char *res = strncpy(output, input, size); - output[size - 1] = 0; - - return res; -} - -LISTCOMMANDS ListCommands = NULL; - -PCommand knownCommands = NULL; -int cKnownCommands = 0; - -HMODULE hCmdLineDLL = NULL; - -char *GetMirandaFolder(char *mimFolder, int size) -{ - STRNCPY(mimFolder, sdCmdLine->mimFolder, size); - mimFolder[size - 1] = 0; - - return mimFolder; -} - - -int ConnectToMiranda() -{ - char pluginPath[1024]; - GetMirandaFolder(pluginPath, sizeof(pluginPath)); - strcat(pluginPath, "\\plugins\\cmdline.dll"); - - ListCommands = NULL; - - hCmdLineDLL = LoadLibrary(pluginPath); - - int failure = 1; - if (hCmdLineDLL) - { - ListCommands = (LISTCOMMANDS) GetProcAddress(hCmdLineDLL, "ListCommands"); - } - - if (ListCommands) - { - failure = 0; - } - - return failure; -} - -int DisconnectFromMiranda() -{ - return FreeLibrary(hCmdLineDLL); -} - -int GetKnownCommands() -{ - ListCommands(&knownCommands, &cKnownCommands); - - return (knownCommands == NULL); -} - -int DestroyKnownCommands() -{ - - - return 0; -} - -PCommand GetCommand(char *command) -{ - int i; - char lower[512]; - STRNCPY(lower, command, sizeof(lower)); - _strlwr(lower); - - for (i = 0; i < cKnownCommands; i++) - { - if (strcmp(knownCommands[i].command, lower) == 0) - { - return &knownCommands[i]; - } - } - - //allow more parameters to trigger the help command - /h -h /? --help - if ((strcmp(lower, "/h") == 0) || (strcmp(lower, "-h") == 0) || (strcmp(lower, "/?") == 0) || (strcmp(lower, "--help") == 0)) - { - for (i = 0; i < cKnownCommands; i++) - { - if (knownCommands[i].ID == MIMCMD_HELP) - { - return &knownCommands[i]; - } - } - } - - return NULL; -} - -void HandleHelpCommand(PCommand helpCommand, char *argv[], int argc, PReply reply) -{ - const int size = REPLY_SIZE; - if (argc >= 3) - { - PCommand command = GetCommand(argv[2]); - - if (command) - { - reply->code = MIMRES_SUCCESS; - STRNCPY(reply->message, Translate(command->help), size); - } - else{ - reply->code = MIMRES_NOTFOUND; - _snprintf(reply->message, size, Translate("No help for '%s'."), argv[2]); - reply->message[size -1 ] = 0; - } - } - else{ - reply->code = MIMRES_SUCCESS; - STRNCPY(reply->message, Translate("Available commands: "), size); - - int i; - for (i = 0; i < cKnownCommands - 1; i++) - { - strncat(reply->message, knownCommands[i].command, size); - strncat(reply->message, ", ", size); - } - strncat(reply->message, knownCommands[cKnownCommands - 1].command, size); - strncat(reply->message, ".", size); - } -} - -PReply ParseCommand(char *argv[], int argc) -{ - PCommand command = GetCommand(argv[1]); - if (command) - { - PReply reply = &sdCmdLine->reply; - if (command->ID == MIMCMD_HELP) - { - HandleHelpCommand(command, argv, argc, reply); - } - else{ - ProcessConsoleCommand(command, argv, argc, reply); - } - - return reply; - } - else{ - return NULL; - } -} - -void FillSharedDataStruct(PCommand command, char *arguments[], int count) -{ - int i; - for (i = 0; i < count; i++) - { - STRNCPY(sdCmdLine->arguments[i], arguments[i], ARGUMENT_SIZE); - } - - sdCmdLine->cArguments = count; - sdCmdLine->command = *command; - *sdCmdLine->reply.message = 0; - sdCmdLine->reply.code =-1; -} - -void ProcessConsoleCommand(PCommand command, char *arguments[], int count, PReply reply) -{ - const HANDLE events[] = {heServerDone, heServerClose, heServerBufferFull}; - const int cEvents = sizeof(events) / sizeof(events[0]); - - if (WaitForSingleObject(hmClient, INFINITE) == WAIT_OBJECT_0) - {//got the mutex, we're the only one who can talk to miranda now - FillSharedDataStruct(command, arguments, count); - SetEvent(heServerExec); //tell Miranda to process the request - - int done = FALSE; - while (!done) - { - switch (WaitForMultipleObjects(cEvents, events, FALSE, INFINITE)) //wait until server either finished processing or miranda was closed - { - case WAIT_OBJECT_0: //done event - { - done = TRUE; - - break; //nothing to do - } - - case WAIT_OBJECT_0 + 1: //close event - default: - { - strcpy(sdCmdLine->reply.message, Translate("Miranda has been closed or an error has occured while waiting for the result, could not process request.")); - done = TRUE; - - break; - } - - case WAIT_OBJECT_0 + 2: //buffer full event - { - lpprintf("%s", reply->message); - - break; - } - } - } - - reply->code = sdCmdLine->reply.code; - STRNCPY(reply->message, sdCmdLine->reply.message, REPLY_SIZE); - - ReleaseMutex(hmClient); //let other possible clients talk to the server - } - else{ - int err = GetLastError(); - reply->code = -1; - *reply->message = 0; - } - -} \ No newline at end of file diff --git a/plugins/CmdLine/executable/MimCmd/commands.h b/plugins/CmdLine/executable/MimCmd/commands.h deleted file mode 100644 index 04cc640f48..0000000000 --- a/plugins/CmdLine/executable/MimCmd/commands.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -CmdLine plugin for Miranda IM - -Copyright © 2007 Cristian Libotean - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#ifndef M_MIMCMD_COMMANDS_H -#define M_MIMCMD_COMMANDS_H - -#include "common.h" - -extern PCommand knownCommands; -extern int cKnownCommands; - -typedef void (* LISTCOMMANDS)(PCommand *commands, int *count); - -extern LISTCOMMANDS ListCommands; - -char *GetMirandaFolder(); - -int ConnectToMiranda(); -int DisconnectFromMiranda(); -int GetKnownCommands(); -int DestroyKnownCommands(); - -PCommand GetCommand(char *command); -PReply ParseCommand(char *argv[], int argc); -void ProcessConsoleCommand(PCommand command, char *arguments[], int count, PReply reply); - -#endif \ No newline at end of file diff --git a/plugins/CmdLine/executable/MimCmd/common.h b/plugins/CmdLine/executable/MimCmd/common.h deleted file mode 100644 index 8361cc24d4..0000000000 --- a/plugins/CmdLine/executable/MimCmd/common.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -CmdLine plugin for Miranda IM - -Copyright © 2007 Cristian Libotean - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#include -#include -#include - -#define NO_MIMCMD_COMMANDS - -#include "../../cmdline/mimcmd_data.h" -#include "../../cmdline/mimcmd_ipc.h" -#include "commands.h" -#include "langpack.h" \ No newline at end of file diff --git a/plugins/CmdLine/executable/MimCmd/langpack.cpp b/plugins/CmdLine/executable/MimCmd/langpack.cpp deleted file mode 100644 index 096431f95b..0000000000 --- a/plugins/CmdLine/executable/MimCmd/langpack.cpp +++ /dev/null @@ -1,377 +0,0 @@ -/* -CmdLine plugin for Miranda IM - -Copyright © 2007 Cristian Libotean - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -//this code is mostly taken from Miranda's langpack module. - -/* - -Miranda IM: the free IM client for Microsoft* Windows* - -Copyright 2000-2007 Miranda ICQ/IM project, -all portions of this codebase are copyrighted to the people -listed in contributors.txt. - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ -#include "langpack.h" - -static __inline int mir_snprintf(char *buffer, size_t count, const char* fmt, ...) { - va_list va; - int len; - - va_start(va, fmt); - len = _vsnprintf(buffer, count-1, fmt, va); - va_end(va); - buffer[count-1] = 0; - return len; -} - -int lpprintf(const char *format, ...) -{ - va_list va; - va_start(va, format); - const int MAX_SIZE = 16192; - char buffer[MAX_SIZE] = {0}; - int len = _vsnprintf(buffer, MAX_SIZE - 1, format, va); - buffer[MAX_SIZE - 1] = 0; - va_end(va); - CharToOemBuff(buffer, buffer, len); - printf("%s", buffer); - - return len; -} - -static void TrimString(char *str) -{ - int len,start; - len=lstrlenA(str); - while(str[0] && (unsigned char)str[len-1]<=' ') str[--len]=0; - for(start=0;str[start] && (unsigned char)str[start]<=' ';start++); - MoveMemory(str,str+start,len-start+1); -} - -static void TrimStringSimple(char *str) -{ - if (str[lstrlenA(str)-1] == '\n') str[lstrlenA(str)-1] = '\0'; - if (str[lstrlenA(str)-1] == '\r') str[lstrlenA(str)-1] = '\0'; -} - -static int IsEmpty(char *str) -{ - int i = 0; - - while (str[i]) - { - if (str[i]!=' '&&str[i]!='\r'&&str[i]!='\n') - return 0; - i++; - } - return 1; -} - -static void ConvertBackslashes(char *str) -{ - char *pstr; - - for(pstr=str;*pstr;pstr=CharNextA(pstr)) { - if(*pstr=='\\') { - switch(pstr[1]) { -case 'n': *pstr='\n'; break; -case 't': *pstr='\t'; break; -case 'r': *pstr='\r'; break; -default: *pstr=pstr[1]; break; - } - MoveMemory(pstr+1,pstr+2,lstrlenA(pstr+2)+1); - } - } -} - -static DWORD LangPackHash(const char *szStr) -{ -#if defined _M_IX86 && !defined _NUMEGA_BC_FINALCHECK && !defined __GNUC__ - __asm { //this is mediocrely optimised, but I'm sure it's good enough - xor edx,edx - mov esi,szStr - xor cl,cl -lph_top: - xor eax,eax - and cl,31 - mov al,[esi] - inc esi - test al,al - jz lph_end - rol eax,cl - add cl,5 - xor edx,eax - jmp lph_top -lph_end: - mov eax,edx - } -#else - DWORD hash=0; - int i; - int shift=0; - for(i=0;szStr[i];i++) { - hash^=szStr[i]<24) hash^=(szStr[i]>>(32-shift))&0x7F; - shift=(shift+5)&0x1F; - } - return hash; -#endif -} - -static DWORD LangPackHashW(const char *szStr) -{ -#if defined _M_IX86 && !defined _NUMEGA_BC_FINALCHECK && !defined __GNUC__ - __asm { //this is mediocrely optimised, but I'm sure it's good enough - xor edx,edx - mov esi,szStr - xor cl,cl -lph_top: - xor eax,eax - and cl,31 - mov al,[esi] - inc esi - inc esi - test al,al - jz lph_end - rol eax,cl - add cl,5 - xor edx,eax - jmp lph_top -lph_end: - mov eax,edx - } -#else - DWORD hash=0; - int i; - int shift=0; - for(i=0;szStr[i];i+=2) { - hash^=szStr[i]<24) hash^=(szStr[i]>>(32-shift))&0x7F; - shift=(shift+5)&0x1F; - } - return hash; -#endif -} - -static int SortLangPackHashesProc(struct LangPackEntry *arg1,struct LangPackEntry *arg2) -{ - if(arg1->englishHashenglishHash) return -1; - if(arg1->englishHash>arg2->englishHash) return 1; - /* both source strings of the same hash (may not be the same string thou) put - the one that was written first to be found first */ - if(arg1->linePoslinePos) return -1; - if(arg1->linePos>arg2->linePos) return 1; - return 0; -} - - -static int SortLangPackHashesProc2(struct LangPackEntry *arg1,struct LangPackEntry *arg2) -{ - if(arg1->englishHashenglishHash) return -1; - if(arg1->englishHash>arg2->englishHash) return 1; - return 0; -} - -static int LoadLangPack(const TCHAR *szLangPack) -{ - FILE *fp; - char line[4096]; - char *pszColon; - char *pszLine; - int entriesAlloced; - int startOfLine=0; - unsigned int linePos=1; - USHORT langID; - - lstrcpy(langPack.filename,szLangPack); - fp = _tfopen(szLangPack,_T("rt")); - if(fp==NULL) return 1; - fgets(line,SIZEOF(line),fp); - TrimString(line); - if(lstrcmpA(line,"Miranda Language Pack Version 1")) {fclose(fp); return 2;} - //headers - while(!feof(fp)) { - startOfLine=ftell(fp); - if(fgets(line,SIZEOF(line),fp)==NULL) break; - TrimString(line); - if(IsEmpty(line) || line[0]==';' || line[0]==0) continue; - if(line[0]=='[') break; - pszColon=strchr(line,':'); - if(pszColon==NULL) {fclose(fp); return 3;} - *pszColon=0; - if(!lstrcmpA(line,"Language")) {mir_snprintf(langPack.language,sizeof(langPack.language),"%s",pszColon+1); TrimString(langPack.language);} - else if(!lstrcmpA(line,"Last-Modified-Using")) {mir_snprintf(langPack.lastModifiedUsing,sizeof(langPack.lastModifiedUsing),"%s",pszColon+1); TrimString(langPack.lastModifiedUsing);} - else if(!lstrcmpA(line,"Authors")) {mir_snprintf(langPack.authors,sizeof(langPack.authors),"%s",pszColon+1); TrimString(langPack.authors);} - else if(!lstrcmpA(line,"Author-email")) {mir_snprintf(langPack.authorEmail,sizeof(langPack.authorEmail),"%s",pszColon+1); TrimString(langPack.authorEmail);} - else if(!lstrcmpA(line, "Locale")) { - char szBuf[20], *stopped; - - TrimString(pszColon + 1); - langID = (USHORT)strtol(pszColon + 1, &stopped, 16); - langPack.localeID = MAKELCID(langID, 0); - GetLocaleInfoA(langPack.localeID, LOCALE_IDEFAULTANSICODEPAGE, szBuf, 10); - szBuf[5] = 0; // codepages have max. 5 digits - langPack.defaultANSICp = atoi(szBuf); - } - } - //body - fseek(fp,startOfLine,SEEK_SET); - entriesAlloced=0; - while(!feof(fp)) { - if(fgets(line,SIZEOF(line),fp)==NULL) break; - if(IsEmpty(line) || line[0]==';' || line[0]==0) continue; - TrimStringSimple(line); - ConvertBackslashes(line); - if(line[0]=='[' && line[lstrlenA(line)-1]==']') { - if(langPack.entryCount && langPack.entry[langPack.entryCount-1].local==NULL) { - if(langPack.entry[langPack.entryCount-1].english!=NULL) free(langPack.entry[langPack.entryCount-1].english); - langPack.entryCount--; - } - pszLine = line+1; - line[lstrlenA(line)-1]='\0'; - //TrimStringSimple(line); - if(++langPack.entryCount>entriesAlloced) { - entriesAlloced+=128; - langPack.entry=(struct LangPackEntry*)realloc(langPack.entry,sizeof(struct LangPackEntry)*entriesAlloced); - } - langPack.entry[langPack.entryCount-1].english=NULL; - langPack.entry[langPack.entryCount-1].englishHash=LangPackHash(pszLine); - langPack.entry[langPack.entryCount-1].local=NULL; - langPack.entry[langPack.entryCount-1].wlocal = NULL; - langPack.entry[langPack.entryCount-1].linePos=linePos++; - } - else if(langPack.entryCount) { - struct LangPackEntry* E = &langPack.entry[langPack.entryCount-1]; - - if(E->local==NULL) { - E->local=_strdup(line); - { - size_t iNeeded = MultiByteToWideChar(langPack.defaultANSICp, 0, line, -1, 0, 0); - E->wlocal = (wchar_t *)malloc((int) ((iNeeded+1) * sizeof(wchar_t))); - MultiByteToWideChar(langPack.defaultANSICp, 0, line, -1, E->wlocal, (int) iNeeded); - } - } - else { - E->local=(char*)realloc(E->local,lstrlenA(E->local)+lstrlenA(line)+2); - lstrcatA(E->local,"\n"); - lstrcatA(E->local,line); - { - size_t iNeeded = MultiByteToWideChar(langPack.defaultANSICp, 0, line, -1, 0, 0); - size_t iOldLen = wcslen(E->wlocal); - E->wlocal = (wchar_t*)realloc(E->wlocal, ( sizeof(wchar_t) * ( iOldLen + iNeeded + 2))); - wcscat(E->wlocal, L"\n"); - MultiByteToWideChar( langPack.defaultANSICp, 0, line, -1, E->wlocal + iOldLen+1, (int) iNeeded); - } - } - } - } - qsort(langPack.entry,langPack.entryCount,sizeof(struct LangPackEntry),(int(*)(const void*,const void*))SortLangPackHashesProc); - fclose(fp); - return 0; -} - -char *LangPackTranslateString(const char *szEnglish, const int W) -{ - struct LangPackEntry key,*entry; - - if ( langPack.entryCount == 0 || szEnglish == NULL ) return (char*)szEnglish; - - - key.englishHash = W ? LangPackHashW(szEnglish) : LangPackHash(szEnglish); - entry=(struct LangPackEntry*)bsearch(&key,langPack.entry,langPack.entryCount,sizeof(struct LangPackEntry),(int(*)(const void*,const void*))SortLangPackHashesProc2); - if(entry==NULL) return (char*)szEnglish; - while(entry>langPack.entry) - { - entry--; - if(entry->englishHash!=key.englishHash) { - entry++; - return W ? (char *)entry->wlocal : entry->local; - } - } - return W ? (char *)entry->wlocal : entry->local; -} - -int LangPackGetDefaultCodePage() -{ - return (langPack.defaultANSICp == 0) ? CP_ACP : langPack.defaultANSICp; -} - -int LangPackGetDefaultLocale() -{ - return (langPack.localeID == 0) ? LOCALE_USER_DEFAULT : langPack.localeID; -} - -int LangPackShutdown() -{ - int i; - for(i=0;i -#include -#include -#include -#include - - -#define SIZEOF(X) (sizeof(X)/sizeof(X[0])) - -struct LangPackEntry { - unsigned linePos; - DWORD englishHash; - char *english; //not currently used, the hash does everything - char *local; - wchar_t *wlocal; -}; - -struct LangPackStruct { - TCHAR filename[MAX_PATH]; - char language[64]; - char lastModifiedUsing[64]; - char authors[256]; - char authorEmail[128]; - struct LangPackEntry *entry; - int entryCount; - LCID localeID; - DWORD defaultANSICp; -} static langPack = {0}; - -#ifdef Translate -#undef Translate -#define Translate(s) LangPackTranslateString(s, 0) -#endif - -char *LangPackTranslateString(const char *szEnglish, const int W); -int LangPackGetDefaultCodePage(); -int LangPackGetDefaultLocale(); - -int LangPackShutdown(); -int LoadLangPackModule(char *mirandaPath); - -int lpprintf(const char *format, ...); - -#endif \ No newline at end of file diff --git a/plugins/CmdLine/executable/MimCmd/resource.h b/plugins/CmdLine/executable/MimCmd/resource.h deleted file mode 100644 index c3bc570152..0000000000 --- a/plugins/CmdLine/executable/MimCmd/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by version.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/plugins/CmdLine/executable/MimCmd/version.rc b/plugins/CmdLine/executable/MimCmd/version.rc deleted file mode 100644 index 36d39c3d33..0000000000 --- a/plugins/CmdLine/executable/MimCmd/version.rc +++ /dev/null @@ -1,104 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#ifdef APSTUDIO_INVOKED -#error this file is not editable by Microsoft Visual C++ -#endif //APSTUDIO_INVOKED - -#include "resource.h" -#include "..\..\CmdLine\version.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION __PLUGINVERSION_STRING - PRODUCTVERSION __PLUGINVERSION_STRING - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Author", __AUTHOR - VALUE "FileDescription", __DESC - VALUE "FileVersion", __VERSION_STRING - VALUE "InternalName", __PLUGIN_DISPLAY_NAME - VALUE "LegalCopyright", __COPYRIGHT - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - -- cgit v1.2.3