From 25ec54ea27a7099f33573b260a620ed7273176fe Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 30 Jun 2013 12:16:44 +0000 Subject: - db_set_blob used everywhere for writing blobs - DBCONTACTWRITESETTING left only in the event handlers git-svn-id: http://svn.miranda-ng.org/main/trunk@5191 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/DbEditorPP/src/findwindow.cpp | 69 +++++++++++------------------------ 1 file changed, 22 insertions(+), 47 deletions(-) (limited to 'plugins/DbEditorPP/src') diff --git a/plugins/DbEditorPP/src/findwindow.cpp b/plugins/DbEditorPP/src/findwindow.cpp index 16b952f9f8..ae1eabcde8 100644 --- a/plugins/DbEditorPP/src/findwindow.cpp +++ b/plugins/DbEditorPP/src/findwindow.cpp @@ -291,14 +291,12 @@ char *multiReplace(const char* value, const char *find, const char *replace, int int replaceValue(HWND hwnd, HANDLE hContact, const char *module, const char *setting, DBVARIANT *dbv, const char *find, const char *replace, int mode) { - int count = 0; - DWORD num = 0; BOOL write = 0; int isNumeric; char *myreplace = NULL; - DBCONTACTWRITESETTING cws = {0}; + DBVARIANT val = {0}; if (!dbv->type || dbv->type == DBVT_BLOB) return 0; @@ -308,40 +306,36 @@ int replaceValue(HWND hwnd, HANDLE hContact, const char *module, const char *set else isNumeric = sscanf(replace,"%d",&num); - cws.szModule=module; - cws.szSetting=setting; - cws.value.type=dbv->type; + val.type=dbv->type; - switch(dbv->type) - { + switch(dbv->type) { case DBVT_UTF8: case DBVT_ASCIIZ: if (mode & RW_FULL) - cws.value.pszVal = (char*)replace; - else - { + val.pszVal = (char*)replace; + else { myreplace = multiReplace(dbv->pszVal, find, replace, mode & RW_CASE); - cws.value.pszVal=myreplace; + val.pszVal = myreplace; } break; case DBVT_BYTE: if (isNumeric && num < 0x100) - cws.value.bVal = (BYTE)num; + val.bVal = (BYTE)num; else return 0; break; case DBVT_WORD: if (isNumeric && num < 0x10000) - cws.value.wVal = (WORD)num; + val.wVal = (WORD)num; else return 0; break; case DBVT_DWORD: if (isNumeric) - cws.value.dVal = num; + val.dVal = num; else return 0; break; @@ -350,16 +344,14 @@ int replaceValue(HWND hwnd, HANDLE hContact, const char *module, const char *set return 0; } - if ((!cws.value.pszVal && !replace[0]) || (cws.value.pszVal && !cws.value.pszVal[0])) - { + if ((!val.pszVal && !replace[0]) || (val.pszVal && !val.pszVal[0])) { ItemFound(hwnd,hContact,module,setting,NULL,FW_SETTINGNAME|FW_DELETED); db_unset(hContact,module,setting); mir_free(myreplace); return 1; } - if (!CallService(MS_DB_CONTACT_WRITESETTING,(WPARAM)hContact,(LPARAM)&cws)) - { + if (!db_set(hContact, module, setting, &val)) { count++; ItemFound(hwnd,hContact,module,setting,myreplace?myreplace:(char*)replace,FW_SETTINGVALUE|FW_REPLACED); } @@ -372,52 +364,35 @@ int replaceValue(HWND hwnd, HANDLE hContact, const char *module, const char *set int replaceSetting(HWND hwnd, HANDLE hContact, const char *module, const char *setting, DBVARIANT *dbv, const char *find, const char *replace, int mode) { - DBCONTACTWRITESETTING cws; - char *myreplace = NULL; + char *szSetting; + ptrA myreplace; int count = 0; DBVARIANT dbv2; if (!dbv->type) return 0; if (mode & RW_FULL) - cws.szSetting = (char*)replace; - else - { + szSetting = (char*)replace; + else { myreplace = multiReplace(setting, find, replace, mode & RW_CASE); - cws.szSetting = myreplace; + szSetting = myreplace; } - if (cws.szSetting[0]==0) - { + if (szSetting[0] == 0) { ItemFound(hwnd,hContact,module,setting,NULL,FW_SETTINGNAME|FW_DELETED); - db_unset(hContact,module,setting); - mir_free(myreplace); + db_unset(hContact, module, setting); return 1; } // check & write - if (GetSetting(hContact, module, myreplace, &dbv2)) - { - cws.szModule=module; - cws.value.type=dbv->type; - cws.value.pszVal=dbv->pszVal; - cws.value.bVal=dbv->bVal; - cws.value.wVal=dbv->wVal; - cws.value.dVal=dbv->dVal; - cws.value.pbVal = dbv->pbVal; - cws.value.cpbVal = dbv->cpbVal; - - if (!CallService(MS_DB_CONTACT_WRITESETTING,(WPARAM)hContact,(LPARAM)&cws)) - { + if ( GetSetting(hContact, module, myreplace, &dbv2)) { + if ( !db_set(hContact, module, szSetting, &dbv2)) { count++; db_unset(hContact,module,setting); - ItemFound(hwnd,hContact,module,cws.szSetting,NULL,FW_SETTINGNAME|FW_REPLACED); + ItemFound(hwnd, hContact, module, szSetting, NULL, FW_SETTINGNAME | FW_REPLACED); } } - else - db_free(&dbv2); - - mir_free(myreplace); + else db_free(&dbv2); return count; } -- cgit v1.2.3