From 790f2dcf2ba090ce24b83a14228abef564557b91 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 28 Jul 2013 20:06:35 +0000 Subject: some missing SIZEOFs git-svn-id: http://svn.miranda-ng.org/main/trunk@5518 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/WebView/src/main.cpp | 2 +- plugins/WebView/src/webview.h | 1 + plugins/WebView/src/webview_alerts.cpp | 20 +- plugins/WebView/src/webview_cleanup.cpp | 20 +- plugins/WebView/src/webview_datawnd.cpp | 347 ++++++++----------------------- plugins/WebView/src/webview_getdata.cpp | 107 +++++----- plugins/WebView/src/webview_opts.cpp | 83 ++++---- plugins/WebView/src/webview_services.cpp | 10 +- 8 files changed, 201 insertions(+), 389 deletions(-) (limited to 'plugins/WebView') diff --git a/plugins/WebView/src/main.cpp b/plugins/WebView/src/main.cpp index 2678c19031..91b00dba30 100644 --- a/plugins/WebView/src/main.cpp +++ b/plugins/WebView/src/main.cpp @@ -153,7 +153,7 @@ extern "C" int __declspec(dllexport) Load() mir_getLP(&pluginInfoEx); mir_getCLI(); - strncpy_s(optionsname, MODULENAME, sizeof(optionsname)); + strncpy_s(optionsname, MODULENAME, SIZEOF(optionsname)); optionsname[0] = toupper(optionsname[0]); HookEvent(ME_CLIST_DOUBLECLICKED, Doubleclick); diff --git a/plugins/WebView/src/webview.h b/plugins/WebView/src/webview.h index 0e5dd41f3d..8fdfbaa806 100644 --- a/plugins/WebView/src/webview.h +++ b/plugins/WebView/src/webview.h @@ -155,6 +155,7 @@ void SavewinSettings(void); void ValidatePosition(HWND hwndDlg); int ModulesLoaded(WPARAM wParam, LPARAM lParam); void ChangeMenuItem3(); +TCHAR* FixButtonText(TCHAR *url, size_t len); int ContactMenuItemUpdateData (WPARAM wParam, LPARAM lParam); int Doubleclick(WPARAM wParam, LPARAM lParam); diff --git a/plugins/WebView/src/webview_alerts.cpp b/plugins/WebView/src/webview_alerts.cpp index 141a3c3251..f06fbc0e5f 100644 --- a/plugins/WebView/src/webview_alerts.cpp +++ b/plugins/WebView/src/webview_alerts.cpp @@ -209,7 +209,7 @@ int OSDAlert(WPARAM wParam, LPARAM lParam) else lstrcpyA(contactname, MODULENAME); char *displaytext = (char*)lParam; - mir_snprintf(newdisplaytext, sizeof(newdisplaytext), "%s: %s", contactname, Translate(displaytext)); + mir_snprintf(newdisplaytext, SIZEOF(newdisplaytext), "%s: %s", contactname, Translate(displaytext)); if (ServiceExists("OSD/Announce")) CallService("OSD/Announce", (WPARAM) newdisplaytext, 0); @@ -260,7 +260,7 @@ void SaveToFile(HANDLE hContact, char *truncated) char url[300]; url[0] = '\0'; DBVARIANT dbv; db_get_s(hContact, MODULENAME, URL_KEY, &dbv); - _snprintf(url, sizeof(url), "%s", dbv.pszVal); + mir_snprintf(url, SIZEOF(url), "%s", dbv.pszVal); db_free(&dbv); db_get_s(hContact, MODULENAME, FILE_KEY, &dbv); @@ -276,10 +276,10 @@ void SaveToFile(HANDLE hContact, char *truncated) time_t ftime = time(NULL); struct tm *nTime = localtime(&ftime); - mir_snprintf(timeprefix, sizeof(timeprefix), " %s ", Translate("Last updated on")); + mir_snprintf(timeprefix, SIZEOF(timeprefix), " %s ", Translate("Last updated on")); strftime(temptime1, 32, " %a, %b %d, %Y ", nTime); strftime(temptime2, 32, " %I:%M %p.", nTime); - mir_snprintf(timestring, sizeof(timestring), "(%s)%s\n%s,%s\n", MODULENAME, url, temptime1, temptime2); + mir_snprintf(timestring, SIZEOF(timestring), "(%s)%s\n%s,%s\n", MODULENAME, url, temptime1, temptime2); fputs(timestring, pfile); fwrite(truncated, strlen(truncated), 1, pfile); @@ -314,7 +314,7 @@ int ProcessAlerts(HANDLE hContact, char *truncated, char *tstr, char *contactnam ZeroMemory(&tempraw, sizeof(tempraw)); ZeroMemory(&raw, sizeof(raw)); - strncpy(tempraw, truncated, sizeof(tempraw)); + strncpy(tempraw, truncated, SIZEOF(tempraw)); ZeroMemory(&alertstring, sizeof(alertstring)); ZeroMemory(&Alerttempstring, sizeof(Alerttempstring)); @@ -393,7 +393,7 @@ int ProcessAlerts(HANDLE hContact, char *truncated, char *tstr, char *contactnam if (eventIndex == 0) { // string present if ( !db_get_s(hContact, MODULENAME, ALERT_STRING_KEY, &tdbv)) { - strncpy(alertstring, tdbv.pszVal, sizeof(alertstring)); + strncpy(alertstring, tdbv.pszVal, SIZEOF(alertstring)); db_free(&tdbv); if ((strstr(tempraw, alertstring)) != 0) { // // ENDALERT EVENT:CHECK FOR STRING @@ -469,7 +469,7 @@ int ProcessAlerts(HANDLE hContact, char *truncated, char *tstr, char *contactnam else if (eventIndex == 1) { // webpage changed // TEST GET NAME FOR CACHE TCHAR cachepath[MAX_PATH], cachedirectorypath[MAX_PATH], newcachepath[MAX_PATH + 50]; - GetModuleFileName(hInst, cachepath, sizeof(cachepath)); + GetModuleFileName(hInst, cachepath, SIZEOF(cachepath)); TCHAR *cacheend = _tcsrchr(cachepath, '\\'); cacheend++; *cacheend = '\0'; @@ -563,11 +563,11 @@ int ProcessAlerts(HANDLE hContact, char *truncated, char *tstr, char *contactnam if (eventIndex == 2) { // part of webpage changed db_get_s(hContact, MODULENAME, ALRT_S_STRING_KEY, &tdbv); - mir_snprintf(Alerttempstring, sizeof(Alerttempstring), "%s", tdbv.pszVal); + mir_snprintf(Alerttempstring, SIZEOF(Alerttempstring), "%s", tdbv.pszVal); db_free(&tdbv); db_get_s(hContact, MODULENAME, ALRT_E_STRING_KEY, &tdbv); - mir_snprintf(Alerttempstring2, sizeof(Alerttempstring2), "%s", tdbv.pszVal); + mir_snprintf(Alerttempstring2, SIZEOF(Alerttempstring2), "%s", tdbv.pszVal); db_free(&tdbv); // putting data into string @@ -848,7 +848,7 @@ void ReadFromFile(HANDLE hContact) char contactname[100]; db_get_s(hContact, "CList", "MyHandle", &dbv); - mir_snprintf(contactname, sizeof(contactname), "%s", dbv.pszVal); + mir_snprintf(contactname, SIZEOF(contactname), "%s", dbv.pszVal); db_free(&dbv); db_get_s(hContact, MODULENAME, CACHE_FILE_KEY, &dbv); diff --git a/plugins/WebView/src/webview_cleanup.cpp b/plugins/WebView/src/webview_cleanup.cpp index b1fbc3912e..bf34ef46d5 100644 --- a/plugins/WebView/src/webview_cleanup.cpp +++ b/plugins/WebView/src/webview_cleanup.cpp @@ -371,7 +371,7 @@ void CodetoSymbol(char *truncated) static char *stringfrompos; for (int n = 0; n < AMOUNT3; n++) { - while (1) { // loop forever + while (true) { // loop forever Sleep(1); // avoid 100% CPU if ( strstr(truncated, CharacterCodes[n]) != 0) { // does character code exist? @@ -411,7 +411,7 @@ void EraseBlock(char *truncated) // /////////////////////////// - while (1) { + while (true) { Sleep(1); // avoid 100% CPU // /get start and end of block @@ -451,7 +451,7 @@ void EraseBlock(char *truncated) positionEnd = 0; // 2// - while (1) { + while (true) { Sleep(1); // avoid 100% CPU // /get start and end of block @@ -499,7 +499,7 @@ void EraseBlock(char *truncated) // //// // 3// - while (1) + while (true) { Sleep(1); // avoid 100% CPU // /get start and end of block @@ -547,7 +547,7 @@ void EraseBlock(char *truncated) // 4// - while (1) { + while (true) { Sleep(1); // avoid 100% CPU // /get start and end of block if (strstr(tempraw, "{") != 0) // does tag exist? @@ -600,7 +600,7 @@ void EraseSymbols(char *truncated) strncpy(tempraw, truncated, MAXSIZE1); // ////// - while (1) { + while (true) { Sleep(1); // avoid 100% CPU /**/ @@ -609,7 +609,7 @@ void EraseSymbols(char *truncated) stringfrompos = strstr(tempraw, "&#"); position = stringfrompos - tempraw; - while (1) { + while (true) { tempraw[position + counter] = ' '; counter++; if (counter > 20) @@ -642,7 +642,7 @@ void NumSymbols(char *truncated) if (truncated) strncpy(tempraw, truncated, MAXSIZE1); - while (1) { + while (true) { Sleep(1); // avoid 100% CPU counter = 0; @@ -651,7 +651,7 @@ void NumSymbols(char *truncated) stringfrompos = strstr(tempraw, "&#"); position = stringfrompos - tempraw; - while (1) { + while (true) { if (counter > 1) symbol[counter - 2] = tempraw[position + counter]; @@ -788,7 +788,7 @@ void Removewhitespace(char *truncated) void Filter(char *truncated) { char tempraw[MAXSIZE1]; - strncpy(tempraw, truncated, sizeof(tempraw)); + strncpy(tempraw, truncated, SIZEOF(tempraw)); for (int counter = 0; counter < lstrlenA(tempraw); counter++) if ((tempraw[counter] == '\n') || (tempraw[counter] == '\r') || (tempraw[counter] == '\t')) diff --git a/plugins/WebView/src/webview_datawnd.cpp b/plugins/WebView/src/webview_datawnd.cpp index 78e8364711..cf7ec325ea 100644 --- a/plugins/WebView/src/webview_datawnd.cpp +++ b/plugins/WebView/src/webview_datawnd.cpp @@ -58,13 +58,13 @@ INT_PTR CALLBACK DlgProcFind(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara char *tempbuffer = (char*)malloc(len + 2); GetWindowTextA(GetDlgItem(ParentHwnd, IDC_DATA), tempbuffer, len); - strncpy(buff, tempbuffer, sizeof(buff)); + strncpy(buff, tempbuffer, SIZEOF(buff)); free(tempbuffer); Filter(buff); CharUpperBuffA(buff, lstrlenA(buff)); - GetDlgItemTextA(hwndDlg, IDC_FINDWHAT, NewSearchstr, sizeof(NewSearchstr)); + GetDlgItemTextA(hwndDlg, IDC_FINDWHAT, NewSearchstr, SIZEOF(NewSearchstr)); CharUpperBuffA(NewSearchstr, lstrlenA(NewSearchstr)); OLDstartposition = startposition; @@ -116,11 +116,40 @@ INT_PTR CALLBACK DlgProcFind(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara } /*****************************************************************************/ + +static TCHAR tszSizeString[] = _T("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); + +static HANDLE FindContactByUrl(HWND hwndDlg) +{ + HANDLE res = NULL; + TCHAR urltext[300], titlebartxt[300]; + int contactcount = 0; + + GetDlgItemText(hwndDlg, IDC_OPEN_URL, urltext, SIZEOF(urltext)); + GetWindowText(hwndDlg, titlebartxt, SIZEOF(titlebartxt)); + + for (HANDLE hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { + ptrT db1( db_get_tsa(hContact, MODULENAME, URL_KEY)); + ptrT db2( db_get_tsa(hContact, MODULENAME, PRESERVE_NAME_KEY)); + + if ( !lstrcmp(urltext, db1) && !lstrcmp(titlebartxt, db2)) { + contactcount++; + if (contactcount > 1) { + MessageBox(NULL, TranslateT("ERROR: You have two or more Webview contacts with the same URL and contact name."), _T(MODULENAME), MB_OK); + return NULL; + } + res = hContact; + } + } + return res; +} + INT_PTR CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { - DBVARIANT dbv, dbv2; + DBVARIANT dbv; RECT rc; - char url[300]; + TCHAR url[300]; + HANDLE hContact; switch (msg) { case WM_INITDIALOG: @@ -132,60 +161,18 @@ INT_PTR CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA WindowList_Add(hWindowList, hwndDlg, hContact2); url[0] = '\0'; - db_get_s(hContact2, MODULENAME, URL_KEY, &dbv); - _snprintf(url, sizeof(url), "%s", dbv.pszVal); - db_free(&dbv); - - char buttontext[256]; - char stringbefore[256]; - char*stringafter; - char newbuttontext[256]; - int pos = 0; - int posafter = 0; - int posbefore = 0; - - ZeroMemory(&buttontext, sizeof(buttontext)); - ZeroMemory(&newbuttontext, sizeof(newbuttontext)); - _snprintf(buttontext, sizeof(buttontext), "%s", url); - _snprintf(newbuttontext, sizeof(newbuttontext), "%s", url); - - if ((strstr(newbuttontext, "&")) != 0) { - while (1) { - ZeroMemory(&stringbefore, sizeof(stringbefore)); - - if ((strstr(newbuttontext, "&")) == 0) - break; - - _snprintf(buttontext, sizeof(buttontext), "%s", newbuttontext); - stringafter = strstr(buttontext, "&"); - pos = (stringafter - buttontext); - posbefore = (stringafter - buttontext) - 1; - posafter = (stringafter - buttontext) + 1; - strncpy(&stringafter[0], &stringafter[1], strlen(stringafter)); - _snprintf(stringbefore, pos, "%s", buttontext); - _snprintf(newbuttontext, sizeof(buttontext), "%s%s%s", stringbefore, "!!", stringafter); - - posafter = 0; - posbefore = 0; - } - - while (1) { - if ((strstr(newbuttontext, "!")) != 0) { - stringafter = strstr(newbuttontext, "!"); - pos = (stringafter - newbuttontext); - newbuttontext[pos] = '&'; - } - if ((strstr(newbuttontext, "!")) == 0) - break; - } + if ( !db_get_ts(hContact2, MODULENAME, URL_KEY, &dbv)) { + _tcsncpy_s(url, SIZEOF(url), dbv.ptszVal, _TRUNCATE); + db_free(&dbv); } - - SetDlgItemTextA(hwndDlg, IDC_OPEN_URL, newbuttontext); + SetDlgItemText(hwndDlg, IDC_OPEN_URL, FixButtonText(url, SIZEOF(url))); char preservename[100]; - db_get_s(hContact2, MODULENAME, PRESERVE_NAME_KEY, &dbv); - mir_snprintf(preservename, sizeof(preservename), "%s", dbv.pszVal); - db_free(&dbv); + if ( !db_get_s(hContact2, MODULENAME, PRESERVE_NAME_KEY, &dbv)) { + strncpy_s(preservename, SIZEOF(preservename), dbv.pszVal, _TRUNCATE); + db_free(&dbv); + } + else preservename[0] = 0; SetWindowTextA(hwndDlg, preservename); SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM) LoadIcon(hInst, MAKEINTRESOURCE(IDI_SITE))); @@ -242,21 +229,16 @@ INT_PTR CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA SendDlgItemMessage(hwndDlg, IDC_STOP, BUTTONSETASFLATBTN, 0, 0); SendDlgItemMessage(hwndDlg, IDC_OPEN_URL, BUTTONSETASFLATBTN, 0, 0); - { - int partWidth[2]; - SIZE textSize; - HDC hdc; - - hdc = GetDC(GetDlgItem(hwndDlg, IDC_STATUSBAR)); - SelectObject(hdc, (HFONT) SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, WM_GETFONT, 0, 0)); - GetTextExtentPoint32A(hdc, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", lstrlenA("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"), &textSize); - partWidth[0] = textSize.cx; - ReleaseDC(GetDlgItem(hwndDlg, IDC_STATUSBAR), hdc); - partWidth[1] = -1; - SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, SB_SETPARTS, sizeof(partWidth) / sizeof(partWidth[0]), (LPARAM) partWidth); - SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, SB_SETTEXT, 1 | SBT_OWNERDRAW, 0); - } + HDC hdc = GetDC(GetDlgItem(hwndDlg, IDC_STATUSBAR)); + SelectObject(hdc, (HFONT) SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, WM_GETFONT, 0, 0)); + SIZE textSize; + GetTextExtentPoint32(hdc, tszSizeString, SIZEOF(tszSizeString), &textSize); + int partWidth[2] = { textSize.cx, -1 }; + ReleaseDC(GetDlgItem(hwndDlg, IDC_STATUSBAR), hdc); + + SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, SB_SETPARTS, SIZEOF(partWidth), (LPARAM)partWidth); + SendDlgItemMessage(hwndDlg, IDC_STATUSBAR, SB_SETTEXT, 1 | SBT_OWNERDRAW, 0); if ( db_get_b(NULL, MODULENAME, SAVE_INDIVID_POS_KEY, 0)) Utils_RestoreWindowPosition(hwndDlg, hContact2, MODULENAME, "WV"); @@ -355,108 +337,27 @@ INT_PTR CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_OPEN_URL: - ZeroMemory(&url, sizeof(url)); - GetDlgItemTextA(hwndDlg, IDC_OPEN_URL, url, sizeof(url)); - CallService(MS_UTILS_OPENURL, 1, (LPARAM) url); + GetDlgItemText(hwndDlg, IDC_OPEN_URL, url, SIZEOF(url)); + CallService(MS_UTILS_OPENURL, OUF_TCHAR, (LPARAM)url); db_set_w((HANDLE)wParam, MODULENAME, "Status", ID_STATUS_ONLINE); break; case IDC_UPDATE_BUTTON: - { - char urltext[300]; - char titlebartxt[300]; - int contactcount = 0; - - ZeroMemory(&urltext, sizeof(urltext)); - ZeroMemory(&titlebartxt, sizeof(titlebartxt)); - - //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext, sizeof(urltext)); - GetDlgItemTextA(hwndDlg, IDC_OPEN_URL, urltext, sizeof(urltext)); - GetWindowTextA(hwndDlg, titlebartxt, sizeof(titlebartxt)); - - for (HANDLE hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { - db_get_s(hContact, MODULENAME, URL_KEY, &dbv); - db_get_s(hContact, MODULENAME, PRESERVE_NAME_KEY, &dbv2); - - if ( !lstrcmpA(urltext, dbv.pszVal) && !lstrcmpA(titlebartxt, dbv2.pszVal)) { - contactcount++; - if (contactcount > 1) { - MessageBox(NULL, TranslateT("ERROR: You have two or more Webview contacts with the same URL and contact name."), _T(MODULENAME), MB_OK); - break; - } - EnableWindow(GetDlgItem(hwndDlg, IDC_UPDATE_BUTTON), 0); - UpdateMenuCommand(wParam, lParam, hContact); - } - db_free(&dbv); - db_free(&dbv2); - } + if (hContact = FindContactByUrl(hwndDlg)) { + EnableWindow(GetDlgItem(hwndDlg, IDC_UPDATE_BUTTON), 0); + UpdateMenuCommand(wParam, lParam, hContact); } break; case IDC_STOP: - { - char urltext[300]; - char titlebartxt[300]; - int contactcount = 0; - - ZeroMemory(&urltext, sizeof(urltext)); - ZeroMemory(&titlebartxt, sizeof(titlebartxt)); - - //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext, sizeof(urltext)); - GetDlgItemTextA(hwndDlg, IDC_OPEN_URL, urltext, sizeof(urltext)); - GetWindowTextA(hwndDlg, titlebartxt, sizeof(titlebartxt)); - - for (HANDLE hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { - db_get_s(hContact, MODULENAME, URL_KEY, &dbv); - db_get_s(hContact, MODULENAME, PRESERVE_NAME_KEY, &dbv2); - - if ( !lstrcmpA(urltext, dbv.pszVal) && !lstrcmpA(titlebartxt, dbv2.pszVal)) { - contactcount++; - if (contactcount > 1) { - MessageBox(NULL, TranslateT("ERROR: You have two or more Webview contacts with the same URL and contact name."), _T(MODULENAME), MB_OK); - break; - } - db_set_b(hContact, MODULENAME, STOP_KEY, 1); - } - db_free(&dbv); - db_free(&dbv2); - } - } + if (hContact = FindContactByUrl(hwndDlg)) + db_set_b(hContact, MODULENAME, STOP_KEY, 1); break; case IDC_STICK_BUTTON: + if (hContact = FindContactByUrl(hwndDlg)) + OnTopMenuCommand(wParam, lParam, hContact); { - char urltext2[300]; - char titlebartxt[300]; - int contactcount = 0; - - ZeroMemory(&urltext2, sizeof(urltext2)); - ZeroMemory(&titlebartxt, sizeof(titlebartxt)); - - GetDlgItemTextA(hwndDlg, IDC_OPEN_URL, urltext2, sizeof(urltext2)); - GetWindowTextA(hwndDlg, titlebartxt, sizeof(titlebartxt)); - - HANDLE hContact; - for (hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { - db_get_s(hContact, MODULENAME, URL_KEY, &dbv); - db_get_s(hContact, MODULENAME, PRESERVE_NAME_KEY, &dbv2); - - if ( !lstrcmpA(urltext2, dbv.pszVal) && !lstrcmpA(titlebartxt, dbv2.pszVal)) { - contactcount++; - if (contactcount > 1) { - MessageBox(NULL, TranslateT("ERROR: You have two or more Webview contacts with the same URL and contact name."), _T(MODULENAME), MB_OK); - break; - } - OnTopMenuCommand(wParam, lParam, hContact); - db_free(&dbv); - break; - } - db_free(&dbv); - db_free(&dbv2); - } - - // //////// - TCHAR *ptszToolTip; HWND hTopmost; if ( !db_get_b(hContact, MODULENAME, ON_TOP_KEY, 0)) { @@ -470,7 +371,6 @@ INT_PTR CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_UNSTICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0))); SendMessage(GetDlgItem(hwndDlg, IDC_STICK_BUTTON), BUTTONADDTOOLTIP, (WPARAM)ptszToolTip, BATF_TCHAR); SetWindowPos(hwndDlg, hTopmost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); - db_free(&dbv); } break; @@ -483,76 +383,22 @@ INT_PTR CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA break; case IDC_OPTIONS_BUTTON: - { - char urltext[300]; - char titlebartxt[300]; - int contactcount = 0; - - // - ZeroMemory(&urltext, sizeof(urltext)); - ZeroMemory(&titlebartxt, sizeof(titlebartxt)); - - //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext, sizeof(urltext)); - GetDlgItemTextA(hwndDlg, IDC_OPEN_URL, urltext, sizeof(urltext)); - GetWindowTextA(hwndDlg, titlebartxt, sizeof(titlebartxt)); - - for (HANDLE hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { - db_get_s(hContact, MODULENAME, URL_KEY, &dbv); - db_get_s(hContact, MODULENAME, PRESERVE_NAME_KEY, &dbv2); - - if ( !lstrcmpA(urltext, dbv.pszVal) && !lstrcmpA(titlebartxt, dbv2.pszVal)) { - contactcount++; - if (contactcount > 1) { - MessageBox(NULL, TranslateT("ERROR: You have two or more Webview contacts with the same URL and contact name."), _T(MODULENAME), MB_OK); - break; - } - ContactHwnd = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_CONTACT_OPT), hwndDlg, DlgProcContactOpt, (LPARAM) (HANDLE) hContact); - ShowWindow(ContactHwnd, SW_SHOW); - SetActiveWindow(ContactHwnd); - EnableWindow(GetDlgItem(hwndDlg, IDC_OPTIONS_BUTTON), 0); - EnableWindow(GetDlgItem(hwndDlg, IDC_ALERT_BUTTON), 0); - - } - db_free(&dbv); - db_free(&dbv2); - } + if (hContact = FindContactByUrl(hwndDlg)) { + ContactHwnd = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_CONTACT_OPT), hwndDlg, DlgProcContactOpt, (LPARAM) (HANDLE) hContact); + ShowWindow(ContactHwnd, SW_SHOW); + SetActiveWindow(ContactHwnd); + EnableWindow(GetDlgItem(hwndDlg, IDC_OPTIONS_BUTTON), 0); + EnableWindow(GetDlgItem(hwndDlg, IDC_ALERT_BUTTON), 0); } break; case IDC_ALERT_BUTTON: - { - HWND hwndAlertOpt; - char urltext[300]; - char titlebartxt[300]; - int contactcount = 0; - - ZeroMemory(&urltext, sizeof(urltext)); - ZeroMemory(&titlebartxt, sizeof(titlebartxt)); - - //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext, sizeof(urltext)); - GetDlgItemTextA(hwndDlg, IDC_OPEN_URL, urltext, sizeof(urltext)); - GetWindowTextA(hwndDlg, titlebartxt, sizeof(titlebartxt)); - - for (HANDLE hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { - db_get_s(hContact, MODULENAME, URL_KEY, &dbv); - db_get_s(hContact, MODULENAME, PRESERVE_NAME_KEY, &dbv2); - - if ( !lstrcmpA(urltext, dbv.pszVal) && !lstrcmpA(titlebartxt, dbv2.pszVal)) { - contactcount++; - if (contactcount > 1) { - MessageBox(NULL, TranslateT("ERROR: You have two or more Webview contacts with the same URL and contact name."), _T(MODULENAME), MB_OK); - break; - } - hwndAlertOpt = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_ALRT_OPT), hwndDlg, DlgProcAlertOpt, (LPARAM) (HANDLE) hContact); - ShowWindow(hwndAlertOpt, SW_SHOW); - SetActiveWindow(hwndAlertOpt); - EnableWindow(GetDlgItem(hwndDlg, IDC_ALERT_BUTTON), 0); - EnableWindow(GetDlgItem(hwndDlg, IDC_OPTIONS_BUTTON), 0); - - } - db_free(&dbv); - db_free(&dbv2); - } + if (hContact = FindContactByUrl(hwndDlg)) { + HWND hwndAlertOpt = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_ALRT_OPT), hwndDlg, DlgProcAlertOpt, (LPARAM) (HANDLE) hContact); + ShowWindow(hwndAlertOpt, SW_SHOW); + SetActiveWindow(hwndAlertOpt); + EnableWindow(GetDlgItem(hwndDlg, IDC_ALERT_BUTTON), 0); + EnableWindow(GetDlgItem(hwndDlg, IDC_OPTIONS_BUTTON), 0); } break; @@ -565,46 +411,19 @@ INT_PTR CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA break; case WM_CLOSE: - { - char urltext[300]; - char titlebartxt[300]; - int contactcount = 0; + if (Yposition == -32000) + Yposition = 100; - if (Yposition == -32000) - Yposition = 100; + if (Xposition == -32000) + Xposition = 100; - if (Xposition == -32000) - Xposition = 100; + SavewinSettings(); - SavewinSettings(); + if (hContact = FindContactByUrl(hwndDlg)) + Utils_SaveWindowPosition(hwndDlg, hContact, MODULENAME, "WV"); - /**/ - // - ZeroMemory(&urltext, sizeof(urltext)); - ZeroMemory(&titlebartxt, sizeof(titlebartxt)); - - //GetDlgItemText(hwndDlg, IDC_HIDDEN_URL, urltext, sizeof(urltext)); - GetDlgItemTextA(hwndDlg, IDC_OPEN_URL, urltext, sizeof(urltext)); - GetWindowTextA(hwndDlg, titlebartxt, sizeof(titlebartxt)); - - for (HANDLE hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { - db_get_s(hContact, MODULENAME, URL_KEY, &dbv); - db_get_s(hContact, MODULENAME, PRESERVE_NAME_KEY, &dbv2); - - if ( !lstrcmpA(urltext, dbv.pszVal) && !lstrcmpA(titlebartxt, dbv2.pszVal)) { - contactcount++; - if (contactcount > 1) - break; - - Utils_SaveWindowPosition(hwndDlg, hContact, MODULENAME, "WV"); - } - db_free(&dbv); - db_free(&dbv2); - } - - if (hwndDlg != NULL) - DestroyWindow(hwndDlg); - } + if (hwndDlg != NULL) + DestroyWindow(hwndDlg); return 0; case WM_DESTROY: @@ -613,9 +432,7 @@ INT_PTR CALLBACK DlgProcDisplayData(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA case WM_SIZE: { - UTILRESIZEDIALOG urd = {0}; - - urd.cbSize = sizeof(urd); + UTILRESIZEDIALOG urd = { sizeof(urd) }; urd.hInstance = hInst; urd.hwndDlg = hwndDlg; urd.lParam = 0; diff --git a/plugins/WebView/src/webview_getdata.cpp b/plugins/WebView/src/webview_getdata.cpp index 068065d04a..601f2b686f 100644 --- a/plugins/WebView/src/webview_getdata.cpp +++ b/plugins/WebView/src/webview_getdata.cpp @@ -32,9 +32,6 @@ void GetData(HANDLE hContact) int statpos = 0, dispos = 0, statposend = 0; char*pos; DBVARIANT dbv; - NETLIBHTTPREQUEST nlhr = {0} - , *nlhrReply; - NETLIBHTTPHEADER headers[2]; char tempstring[300], tempstring2[300]; int MallocSize = 0; int DownloadSuccess = 0; @@ -47,7 +44,6 @@ void GetData(HANDLE hContact) unsigned long downloadsize = 0; int AmountWspcRem = 0; static char contactname[100]; - char statustext[200]; int TherewasAlert = 0; int PosButnClick = 0; char tstr[128]; @@ -75,41 +71,47 @@ void GetData(HANDLE hContact) db_set_b(hContact, MODULENAME, STOP_KEY, 0); if (db_get_s(hContact, MODULENAME, PRESERVE_NAME_KEY, &dbv)) { - db_free(&dbv); - db_get_s(hContact, "CList", "MyHandle", &dbv); - db_set_s(hContact, MODULENAME, PRESERVE_NAME_KEY, dbv.pszVal); + if ( !db_get_s(hContact, "CList", "MyHandle", &dbv)) { + db_set_s(hContact, MODULENAME, PRESERVE_NAME_KEY, dbv.pszVal); + db_free(&dbv); + } + } + + if ( !db_get_s(hContact, MODULENAME, PRESERVE_NAME_KEY, &dbv)) { + strncpy_s(contactname, SIZEOF(contactname), dbv.pszVal, _TRUNCATE); db_free(&dbv); } - db_get_s(hContact, MODULENAME, PRESERVE_NAME_KEY, &dbv); - _snprintf(contactname, sizeof(contactname), "%s", dbv.pszVal); - db_free(&dbv); url[0] = '\0'; if (!Startingup) db_set_b(NULL, MODULENAME, HAS_CRASHED_KEY, 1); - db_get_s(hContact, MODULENAME, START_STRING_KEY, &dbv); - _snprintf(tempstring, sizeof(tempstring), "%s", dbv.pszVal); - db_free(&dbv); + if ( !db_get_s(hContact, MODULENAME, START_STRING_KEY, &dbv)) { + strncpy_s(tempstring, SIZEOF(tempstring), dbv.pszVal, _TRUNCATE); + db_free(&dbv); + } - db_get_s(hContact, MODULENAME, END_STRING_KEY, &dbv); - _snprintf(tempstring2, sizeof(tempstring2), "%s", dbv.pszVal); - db_free(&dbv); + if ( !db_get_s(hContact, MODULENAME, END_STRING_KEY, &dbv)) { + strncpy_s(tempstring2, SIZEOF(tempstring2), dbv.pszVal, _TRUNCATE); + db_free(&dbv); + } - db_get_s(hContact, MODULENAME, URL_KEY, &dbv); - _snprintf(url, sizeof(url), "%s", dbv.pszVal); - db_free(&dbv); + if ( !db_get_s(hContact, MODULENAME, URL_KEY, &dbv)) { + strncpy_s(url, SIZEOF(url), dbv.pszVal, _TRUNCATE); + db_free(&dbv); + } if (strlen(url) < 3) WErrorPopup(hContact, TranslateT("URL not supplied")); - nlhr.cbSize = sizeof(nlhr); + NETLIBHTTPREQUEST nlhr = { sizeof(nlhr) }; nlhr.requestType = REQUEST_GET; nlhr.flags = NLHRF_DUMPASTEXT; nlhr.szUrl = url; nlhr.headersCount = 2; + NETLIBHTTPHEADER headers[2]; headers[0].szName = "User-Agent"; headers[0].szValue = "Mozilla/4.0 (compatible; MSIE 6.0; Win32)"; @@ -130,14 +132,10 @@ void GetData(HANDLE hContact) EnableWindow(GetDlgItem(hwndDlg, IDC_UPDATE_BUTTON), 1); SetDlgItemText(hwndDlg, IDC_STATUSBAR, TranslateT("Download in progress, please wait...")); - - ZeroMemory(&statustext, sizeof(statustext)); - _snprintf(statustext, sizeof(statustext), "%s", Translate("Updating...")); - db_set_s(hContact, "CList", "StatusMsg", statustext); - + db_set_ts(hContact, "CList", "StatusMsg", TranslateT("Updating...")); db_set_w(hContact, MODULENAME, "Status", ID_STATUS_DND); // download - nlhrReply = (NETLIBHTTPREQUEST *) CallService(MS_NETLIB_HTTPTRANSACTION, (WPARAM) hNetlibUser, (LPARAM) & nlhr); + NETLIBHTTPREQUEST *nlhrReply = (NETLIBHTTPREQUEST *) CallService(MS_NETLIB_HTTPTRANSACTION, (WPARAM) hNetlibUser, (LPARAM) & nlhr); if (nlhrReply) { if (nlhrReply->resultCode < 200 || nlhrReply->resultCode >= 300) { db_set_w(hContact, MODULENAME, "Status", ID_STATUS_AWAY); @@ -167,12 +165,10 @@ void GetData(HANDLE hContact) db_set_w(hContact, MODULENAME, "Status", ID_STATUS_NA); HWND hwndDlg = (WindowList_Find(hWindowList, hContact)); - SetDlgItemText(hwndDlg, IDC_STATUSBAR, TranslateT("The server is down or lagging.")); - WErrorPopup(hContact, TranslateT("The server is down or lagging.")); - - ZeroMemory(&statustext, sizeof(statustext)); - _snprintf(statustext, sizeof(statustext), "%s", Translate("The server is down.")); - db_set_s(hContact, "CList", "StatusMsg", statustext); + TCHAR *statusText = TranslateT("The server is down or lagging."); + SetDlgItemText(hwndDlg, IDC_STATUSBAR, statusText); + WErrorPopup(hContact, statusText); + db_set_ts(hContact, "CList", "StatusMsg", statusText); } if (!(nlhrReply)) @@ -301,14 +297,13 @@ void GetData(HANDLE hContact) strftime(temptime, 128, "(%b %d,%H:%M:%S)", nTime); if (db_get_b(hContact, MODULENAME, CONTACT_PREFIX_KEY, 1) == 1) - _snprintf(tstr, sizeof(tstr), "%s %s", temptime, dbv.pszVal); + mir_snprintf(tstr, SIZEOF(tstr), "%s %s", temptime, dbv.pszVal); if (db_get_b(hContact, MODULENAME, CONTACT_PREFIX_KEY, 1) == 0) - _snprintf(tstr, sizeof(tstr), "%s %s", dbv.pszVal, temptime); + mir_snprintf(tstr, SIZEOF(tstr), "%s %s", dbv.pszVal, temptime); db_free(&dbv); } - else if (db_get_s(hContact, MODULENAME, PRESERVE_NAME_KEY, &dbv)) { - db_free(&dbv); - db_get_s(hContact, "CList", "MyHandle", &dbv); + else { + db_get_ts(hContact, "CList", "MyHandle", &dbv); ZeroMemory(&temptime, sizeof(temptime)); ZeroMemory(&tstr, sizeof(tstr)); ftime = time(NULL); @@ -320,29 +315,22 @@ void GetData(HANDLE hContact) if (db_get_b(hContact, MODULENAME, USE_24_HOUR_KEY, 0) == 1) strftime(temptime, 128, "(%b %d,%H:%M:%S)", nTime); - db_set_s(hContact, MODULENAME, PRESERVE_NAME_KEY, dbv.pszVal); + db_set_ts(hContact, MODULENAME, PRESERVE_NAME_KEY, dbv.ptszVal); if (db_get_b(hContact, MODULENAME, CONTACT_PREFIX_KEY, 1) == 1) - _snprintf(tstr, sizeof(tstr), "%s %s", temptime, dbv.pszVal); + mir_snprintf(tstr, SIZEOF(tstr), "%s %s", temptime, dbv.pszVal); if (db_get_b(hContact, MODULENAME, CONTACT_PREFIX_KEY, 1) == 0) - _snprintf(tstr, sizeof(tstr), "%s %s", dbv.pszVal, temptime); + mir_snprintf(tstr, SIZEOF(tstr), "%s %s", dbv.pszVal, temptime); db_free(&dbv); } - - ZeroMemory(&timeprefix, sizeof(timeprefix)); - ZeroMemory(&temptime1, sizeof(temptime1)); - ZeroMemory(&timeat, sizeof(timeat)); - ZeroMemory(&temptime2, sizeof(temptime2)); - ZeroMemory(×tring, sizeof(timestring)); ftime = time(NULL); nTime = localtime(&ftime); - _snprintf(timeprefix, sizeof(timeprefix), " %s ", (Translate("Last updated on"))); + mir_snprintf(timeprefix, SIZEOF(timeprefix), " %s ", Translate("Last updated on")); strftime(temptime1, 32, " %a, %b %d, %Y ", nTime); - _snprintf(timeat, sizeof(timeat), "%s", (Translate("at the time"))); + mir_snprintf(timeat, SIZEOF(timeat), "%s", Translate("at the time")); strftime(temptime2, 32, " %I:%M %p.", nTime); - _snprintf(timestring, sizeof(timestring), "%s%s%s%s", timeprefix, temptime1, timeat, temptime2); - + mir_snprintf(timestring, SIZEOF(timestring), "%s%s%s%s", timeprefix, temptime1, timeat, temptime2); } // end download success if (DownloadSuccess) { @@ -356,16 +344,17 @@ void GetData(HANDLE hContact) eventIndex = db_get_b(hContact, MODULENAME, EVNT_INDEX_KEY, 0); if (eventIndex == 2) { - strncpy(buff, truncated, sizeof(buff)); + strncpy(buff, truncated, SIZEOF(buff)); Filter(buff); - db_get_s(hContact, MODULENAME, ALRT_S_STRING_KEY, &dbv); - _snprintf(Alerttempstring, sizeof(Alerttempstring), "%s", dbv.pszVal); - db_free(&dbv); - - db_get_s(hContact, MODULENAME, ALRT_E_STRING_KEY, &dbv); - _snprintf(Alerttempstring2, sizeof(Alerttempstring2), "%s", dbv.pszVal); - db_free(&dbv); + if ( !db_get_s(hContact, MODULENAME, ALRT_S_STRING_KEY, &dbv)) { + strncpy_s(Alerttempstring, SIZEOF(Alerttempstring), dbv.pszVal, _TRUNCATE); + db_free(&dbv); + } + if ( !db_get_s(hContact, MODULENAME, ALRT_E_STRING_KEY, &dbv)) { + strncpy_s(Alerttempstring2, SIZEOF(Alerttempstring2), dbv.pszVal, _TRUNCATE); + db_free(&dbv); + } // putting data into string if (((strstr(buff, Alerttempstring)) != 0) && ((strstr(buff, Alerttempstring2)) != 0)) { @@ -461,7 +450,7 @@ LBL_Stop: TCHAR *statusText = TranslateT("Processing data stopped by user."); if ((truncated[strlen(truncated) - 1] == truncated[strlen(truncated) - 2]) && (truncated[strlen(truncated) - 2] == truncated[strlen(truncated) - 3])) { int counterx = 0; - while (1) { + while (true) { counterx++; if (truncated[strlen(truncated) - counterx] != truncated[strlen(truncated) - 1]) { truncated[(strlen(truncated) - counterx) + 2] = '\0'; diff --git a/plugins/WebView/src/webview_opts.cpp b/plugins/WebView/src/webview_opts.cpp index ba9ed25852..760e776e68 100644 --- a/plugins/WebView/src/webview_opts.cpp +++ b/plugins/WebView/src/webview_opts.cpp @@ -46,6 +46,45 @@ void strdel(TCHAR *parBuffer, int len ) p[ -len ] = '\0'; } +TCHAR* FixButtonText(TCHAR *url, size_t len) +{ + TCHAR buttontext[256], stringbefore[256], newbuttontext[256]; + _tcsncpy_s(buttontext, SIZEOF(buttontext), url, _TRUNCATE); + _tcsncpy_s(newbuttontext, SIZEOF(newbuttontext), url, _TRUNCATE); + + if ( _tcschr(newbuttontext, '&') != 0) { + while (true) { + if ( _tcschr(newbuttontext, '&') == 0) + break; + + _tcsncpy_s(buttontext, SIZEOF(buttontext), newbuttontext, _TRUNCATE); + TCHAR *stringafter = _tcschr(buttontext, '&'); + int pos = (stringafter - buttontext); + int posbefore = (stringafter - buttontext) - 1; + int posafter = (stringafter - buttontext) + 1; + strdel(stringafter, 1); + _tcsncpy_s(stringbefore, pos, buttontext, _TRUNCATE); + mir_sntprintf(newbuttontext, SIZEOF(buttontext), _T("%s%S%s"), stringbefore, "!!", stringafter); + + posafter = 0; + posbefore = 0; + } + + while (true) { + if ( _tcschr(newbuttontext, '!') != 0) { + TCHAR *stringafter = _tcschr(newbuttontext, '!'); + int pos = (stringafter - newbuttontext); + newbuttontext[pos] = '&'; + } + if ( _tcschr(newbuttontext, '!') == 0) + break; + } + } + + _tcsncpy_s(url, len, newbuttontext, _TRUNCATE); + return url; +} + /*****************************************************************************/ static int CALLBACK EnumFontScriptsProc(ENUMLOGFONTEX * lpelfe, NEWTEXTMETRICEX * lpntme, int FontType, LPARAM lParam) { @@ -422,7 +461,7 @@ INT_PTR CALLBACK DlgProcAlertOpt(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l ofn.lpstrFilter = _T("TEXT Files (*.txt)\0*.txt\0All Files (*.*)\0*.*\0\0"); ofn.lpstrFile = szFileName; ofn.Flags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT; - ofn.nMaxFile = sizeof(szFileName); + ofn.nMaxFile = SIZEOF(szFileName); ofn.nMaxFileTitle = MAX_PATH; ofn.lpstrDefExt = _T("txt"); if (!GetSaveFileName(&ofn)) @@ -727,10 +766,10 @@ INT_PTR CALLBACK DlgProcAlertOpt(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l GetDlgItemText(hwndDlg, IDC_ALERT_STRING, buf, SIZEOF(buf)); db_set_ts(hContact, MODULENAME, ALERT_STRING_KEY, buf); - GetDlgItemText(hwndDlg, IDC_START2, buf, sizeof(buf)); + GetDlgItemText(hwndDlg, IDC_START2, buf, SIZEOF(buf)); db_set_ts(hContact, MODULENAME, ALRT_S_STRING_KEY, buf); - GetDlgItemText(hwndDlg, IDC_END2, buf, sizeof(buf)); + GetDlgItemText(hwndDlg, IDC_END2, buf, SIZEOF(buf)); db_set_ts(hContact, MODULENAME, ALRT_E_STRING_KEY, buf); db_set_b(hContact, MODULENAME, CONTACT_PREFIX_KEY, (BYTE)IsDlgButtonChecked(hwndDlg, IDC_PREFIX)); @@ -1004,40 +1043,7 @@ INT_PTR CALLBACK DlgProcContactOpt(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM db_set_b(hContact, MODULENAME, CLEAR_DISPLAY_KEY, (BYTE)IsDlgButtonChecked(hwndDlg, IDC_CLEAN)); db_set_b(hContact, MODULENAME, RWSPACE_KEY, (BYTE)(SendDlgItemMessage(hwndDlg, IDC_RWSPACE, TBM_GETPOS, 0, 0))); - // // - TCHAR buttontext[256], stringbefore[256], newbuttontext[256]; - _tcsncpy_s(buttontext, SIZEOF(buttontext), url, _TRUNCATE); - _tcsncpy_s(newbuttontext, SIZEOF(newbuttontext), url, _TRUNCATE); - - if ( _tcschr(newbuttontext, '&') != 0) { - while (true) { - if ( _tcschr(newbuttontext, '&') == 0) - break; - - _tcsncpy_s(buttontext, SIZEOF(buttontext), newbuttontext, _TRUNCATE); - TCHAR *stringafter = _tcschr(buttontext, '&'); - int pos = (stringafter - buttontext); - int posbefore = (stringafter - buttontext) - 1; - int posafter = (stringafter - buttontext) + 1; - strdel(stringafter, 1); - _tcsncpy_s(stringbefore, pos, buttontext, _TRUNCATE); - mir_sntprintf(newbuttontext, SIZEOF(buttontext), _T("%s%S%s"), stringbefore, "!!", stringafter); - - posafter = 0; - posbefore = 0; - } - - while (true) { - if ( _tcschr(newbuttontext, '!') != 0) { - TCHAR *stringafter = _tcschr(newbuttontext, '!'); - int pos = (stringafter - newbuttontext); - newbuttontext[pos] = '&'; - } - if ( _tcschr(newbuttontext, '!') == 0) - break; - } - } - SetDlgItemText(ParentHwnd, IDC_OPEN_URL, newbuttontext); + SetDlgItemText(ParentHwnd, IDC_OPEN_URL, FixButtonText(url, SIZEOF(url))); SetWindowText(ParentHwnd, str); EnableWindow(GetDlgItem(hwndDlg, IDC_OPT_APPLY), 0); @@ -1170,7 +1176,7 @@ INT_PTR CALLBACK DlgProcOpt(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara HDC hdc = GetDC(hwndDlg); lf.lfCharSet = DEFAULT_CHARSET; - GetDlgItemText(hwndDlg, IDC_TYPEFACE, lf.lfFaceName, sizeof(lf.lfFaceName)); + GetDlgItemText(hwndDlg, IDC_TYPEFACE, lf.lfFaceName, SIZEOF(lf.lfFaceName)); lf.lfPitchAndFamily = 0; SendDlgItemMessage(hwndDlg, IDC_SCRIPT, CB_RESETCONTENT, 0, 0); EnumFontFamiliesEx(hdc, &lf, (FONTENUMPROC) EnumFontScriptsProc, (LPARAM) GetDlgItem(hwndDlg, IDC_SCRIPT), 0); @@ -1314,4 +1320,3 @@ INT_PTR CALLBACK DlgProcOpt(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara return 0; } -/********************/ diff --git a/plugins/WebView/src/webview_services.cpp b/plugins/WebView/src/webview_services.cpp index 274b539352..78c4749b71 100644 --- a/plugins/WebView/src/webview_services.cpp +++ b/plugins/WebView/src/webview_services.cpp @@ -144,7 +144,7 @@ INT_PTR OpenCacheDir(WPARAM wParam, LPARAM lParam) { //GET NAME FOR CACHE TCHAR cachepath[MAX_PATH], cachedirectorypath[MAX_PATH]; - GetModuleFileName(hInst, cachepath, sizeof(cachepath)); + GetModuleFileName(hInst, cachepath, SIZEOF(cachepath)); TCHAR *cacheend = _tcsrchr(cachepath, '\\'); cacheend++; *cacheend = '\0'; @@ -172,7 +172,7 @@ INT_PTR PingWebsiteMenuCommand(WPARAM wParam, LPARAM lParam) return 0; TCHAR Cnick[200], *Oldnick; - _tcsncpy(Cnick, url, sizeof(Cnick)); + _tcsncpy(Cnick, url, SIZEOF(Cnick)); if ((Oldnick = _tcsstr(Cnick, _T("://"))) != 0) Oldnick += 3; else @@ -338,12 +338,9 @@ INT_PTR AddToList(WPARAM wParam, LPARAM lParam) { PROTOSEARCHRESULT *psr = (PROTOSEARCHRESULT *) lParam; DBVARIANT dbv; - TCHAR Cnick[255]; int sameurl = 0; int samename = 0; - ZeroMemory(&Cnick, sizeof(Cnick)); - // search for existing contact HANDLE hContact; for (hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { @@ -382,8 +379,11 @@ INT_PTR AddToList(WPARAM wParam, LPARAM lParam) db_set_b(hContact, MODULENAME, RWSPACE_KEY, 1); //Convert url into a name for contact + TCHAR Cnick[255]; if (psr->nick != NULL) _tcsncpy(Cnick, psr->nick, SIZEOF(Cnick)); + else + Cnick[0] = 0; TCHAR *Oldnick = _tcsstr(Cnick, _T("://")); if (Oldnick != 0) -- cgit v1.2.3