From c370af60855db957c5b200914bf0bde743845528 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 28 Aug 2015 16:22:41 +0000 Subject: mir_sntprintf / mir_snprintf: obsoleted second parameter removed wherever possible git-svn-id: http://svn.miranda-ng.org/main/trunk@15064 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/SMS/src/functions.cpp | 433 +++++++++++++++++++++--------------------- 1 file changed, 212 insertions(+), 221 deletions(-) (limited to 'plugins/SMS/src/functions.cpp') diff --git a/plugins/SMS/src/functions.cpp b/plugins/SMS/src/functions.cpp index a38af8be70..7c42dc769c 100644 --- a/plugins/SMS/src/functions.cpp +++ b/plugins/SMS/src/functions.cpp @@ -1,27 +1,27 @@ #include "stdafx.h" -BOOL DB_GetStaticStringW(MCONTACT hContact,LPSTR lpszModule,LPSTR lpszValueName,LPWSTR lpwszRetBuff,size_t dwRetBuffSize,size_t *pdwRetBuffSize) +BOOL DB_GetStaticStringW(MCONTACT hContact, LPSTR lpszModule, LPSTR lpszValueName, LPWSTR lpwszRetBuff, size_t dwRetBuffSize, size_t *pdwRetBuffSize) {// sizes in wchars - BOOL bRet=FALSE; + BOOL bRet = FALSE; size_t dwReadedStringLen; - DBVARIANT dbv={0}; - if (db_get_ws(hContact, lpszModule, lpszValueName, &dbv)==0) - { - dwReadedStringLen=mir_wstrlen(dbv.pwszVal); - if (lpwszRetBuff && (dwRetBuffSize>dwReadedStringLen)) - { - memcpy(lpwszRetBuff,dbv.pszVal,(dwReadedStringLen*sizeof(WCHAR)));//include null terminated - (*((WCHAR*)(lpwszRetBuff+dwReadedStringLen)))=0; - bRet=TRUE; - }else{ - if (lpwszRetBuff && dwRetBuffSize>=sizeof(WCHAR)) (*((WCHAR*)lpwszRetBuff))=0; + DBVARIANT dbv = { 0 }; + if (db_get_ws(hContact, lpszModule, lpszValueName, &dbv) == 0) { + dwReadedStringLen = mir_wstrlen(dbv.pwszVal); + if (lpwszRetBuff && (dwRetBuffSize > dwReadedStringLen)) { + memcpy(lpwszRetBuff, dbv.pszVal, (dwReadedStringLen*sizeof(WCHAR)));//include null terminated + (*((WCHAR*)(lpwszRetBuff + dwReadedStringLen))) = 0; + bRet = TRUE; + } + else { + if (lpwszRetBuff && dwRetBuffSize >= sizeof(WCHAR)) (*((WCHAR*)lpwszRetBuff)) = 0; } - if (pdwRetBuffSize) (*pdwRetBuffSize)=dwReadedStringLen; + if (pdwRetBuffSize) (*pdwRetBuffSize) = dwReadedStringLen; db_free(&dbv); - }else{ - if (lpwszRetBuff && dwRetBuffSize>=sizeof(WCHAR)) (*((WCHAR*)lpwszRetBuff))=0; - if (pdwRetBuffSize) (*pdwRetBuffSize)=0; + } + else { + if (lpwszRetBuff && dwRetBuffSize >= sizeof(WCHAR)) (*((WCHAR*)lpwszRetBuff)) = 0; + if (pdwRetBuffSize) (*pdwRetBuffSize) = 0; } return(bRet); } @@ -40,73 +40,71 @@ LPSTR GetModuleName(MCONTACT hContact) return lpszRet; } -void EnableControlsArray(HWND hWndDlg,WORD *pwControlsList,size_t dwControlsListCount,BOOL bEnabled) +void EnableControlsArray(HWND hWndDlg, WORD *pwControlsList, size_t dwControlsListCount, BOOL bEnabled) { - for(size_t i=0;i='0' && btChar<='9') (*lpbOutBuff++)=btChar; + for (size_t i = 0; i < dwLen; i++) { + btChar = (*lpbInBuff++); + if (btChar >= '0' && btChar <= '9') (*lpbOutBuff++) = btChar; } - (*lpbOutBuff)=0; + (*lpbOutBuff) = 0; - return((lpbOutBuff-(LPBYTE)lpszOutBuff)); + return((lpbOutBuff - (LPBYTE)lpszOutBuff)); } -size_t CopyNumberW(LPWSTR lpcOutBuff,LPWSTR lpcBuff,size_t dwLen) +size_t CopyNumberW(LPWSTR lpcOutBuff, LPWSTR lpcBuff, size_t dwLen) { WCHAR wChar; - LPWSTR lpwszOutBuff=lpcOutBuff,lpwszInBuff=lpcBuff; + LPWSTR lpwszOutBuff = lpcOutBuff, lpwszInBuff = lpcBuff; - for(size_t i=0;i='0' && wChar<='9') (*lpwszOutBuff++)=wChar; + for (size_t i = 0; i < dwLen; i++) { + wChar = (*lpwszInBuff++); + if (wChar >= '0' && wChar <= '9') (*lpwszOutBuff++) = wChar; } - (*lpwszOutBuff)=0; + (*lpwszOutBuff) = 0; - return((lpwszOutBuff-lpcOutBuff)); + return((lpwszOutBuff - lpcOutBuff)); } -bool IsPhoneW(LPWSTR lpwszString,size_t dwStringLen) +bool IsPhoneW(LPWSTR lpwszString, size_t dwStringLen) { if (dwStringLen <= 1) return false; - for(size_t i=0; i < dwStringLen; i++) { - WCHAR wChar=(*lpwszString++); + for (size_t i = 0; i < dwStringLen; i++) { + WCHAR wChar = (*lpwszString++); if (wChar<'0' || wChar>'9') - if (wChar!='+' && wChar!='S' && wChar!='M' && wChar!=' ' && wChar!='(' && wChar!=')') + if (wChar != '+' && wChar != 'S' && wChar != 'M' && wChar != ' ' && wChar != '(' && wChar != ')') return false; } return true; } -DWORD GetContactPhonesCountParam(MCONTACT hContact,LPSTR lpszModule,LPSTR lpszValueName) +DWORD GetContactPhonesCountParam(MCONTACT hContact, LPSTR lpszModule, LPSTR lpszValueName) { - DWORD dwRet=0; + DWORD dwRet = 0; char szBuff[MAX_PATH]; WCHAR wszPhone[MAX_PHONE_LEN]; - size_t i,dwPhoneSize; + size_t i, dwPhoneSize; - if ( DB_GetStaticStringW(hContact,lpszModule,lpszValueName,wszPhone,_countof(wszPhone),&dwPhoneSize)) - if ( IsPhoneW(wszPhone,dwPhoneSize)) + if (DB_GetStaticStringW(hContact, lpszModule, lpszValueName, wszPhone, _countof(wszPhone), &dwPhoneSize)) + if (IsPhoneW(wszPhone, dwPhoneSize)) dwRet++; - for (i=0; i <= PHONES_MIN_COUNT; i++) { - mir_snprintf(szBuff,_countof(szBuff),"%s%ld",lpszValueName,i); - if ( DB_GetStaticStringW(hContact,lpszModule,szBuff,wszPhone,_countof(wszPhone),&dwPhoneSize)) - if ( IsPhoneW(wszPhone,dwPhoneSize)) + for (i = 0; i <= PHONES_MIN_COUNT; i++) { + mir_snprintf(szBuff, "%s%ld", lpszValueName, i); + if (DB_GetStaticStringW(hContact, lpszModule, szBuff, wszPhone, _countof(wszPhone), &dwPhoneSize)) + if (IsPhoneW(wszPhone, dwPhoneSize)) dwRet++; } return dwRet; @@ -118,61 +116,61 @@ DWORD GetContactPhonesCount(MCONTACT hContact) DWORD dwRet = 0; LPSTR lpszProto = GetContactProto(hContact); if (lpszProto) { - dwRet += GetContactPhonesCountParam(hContact,lpszProto,"Phone"); - dwRet += GetContactPhonesCountParam(hContact,lpszProto,"Cellular"); - dwRet += GetContactPhonesCountParam(hContact,lpszProto,"Fax"); + dwRet += GetContactPhonesCountParam(hContact, lpszProto, "Phone"); + dwRet += GetContactPhonesCountParam(hContact, lpszProto, "Cellular"); + dwRet += GetContactPhonesCountParam(hContact, lpszProto, "Fax"); } - dwRet += GetContactPhonesCountParam(hContact,"UserInfo","MyPhone"); - dwRet += GetContactPhonesCountParam(hContact,"UserInfo","Phone"); - dwRet += GetContactPhonesCountParam(hContact,"UserInfo","Cellular"); - dwRet += GetContactPhonesCountParam(hContact,"UserInfo","Fax"); + dwRet += GetContactPhonesCountParam(hContact, "UserInfo", "MyPhone"); + dwRet += GetContactPhonesCountParam(hContact, "UserInfo", "Phone"); + dwRet += GetContactPhonesCountParam(hContact, "UserInfo", "Cellular"); + dwRet += GetContactPhonesCountParam(hContact, "UserInfo", "Fax"); return dwRet; } -BOOL IsContactPhoneParam(MCONTACT hContact,LPSTR lpszModule,LPSTR lpszValueName,LPWSTR lpwszPhone,size_t dwPhoneSize) +BOOL IsContactPhoneParam(MCONTACT hContact, LPSTR lpszModule, LPSTR lpszValueName, LPWSTR lpwszPhone, size_t dwPhoneSize) { char szBuff[MAX_PATH]; WCHAR wszPhoneLocal[MAX_PHONE_LEN]; - size_t i,dwPhoneSizeLocal; + size_t i, dwPhoneSizeLocal; - if ( DB_GetStaticStringW(hContact,lpszModule,lpszValueName,wszPhoneLocal,_countof(wszPhoneLocal),&dwPhoneSizeLocal)) - if ( IsPhoneW(wszPhoneLocal,dwPhoneSizeLocal)) { - dwPhoneSizeLocal = CopyNumberW(wszPhoneLocal,wszPhoneLocal,dwPhoneSizeLocal); - if (MemoryCompare(wszPhoneLocal,dwPhoneSizeLocal,lpwszPhone,dwPhoneSize)==CSTR_EQUAL) + if (DB_GetStaticStringW(hContact, lpszModule, lpszValueName, wszPhoneLocal, _countof(wszPhoneLocal), &dwPhoneSizeLocal)) + if (IsPhoneW(wszPhoneLocal, dwPhoneSizeLocal)) { + dwPhoneSizeLocal = CopyNumberW(wszPhoneLocal, wszPhoneLocal, dwPhoneSizeLocal); + if (MemoryCompare(wszPhoneLocal, dwPhoneSizeLocal, lpwszPhone, dwPhoneSize) == CSTR_EQUAL) return TRUE; } - for (i=0; i <= PHONES_MIN_COUNT; i++) { - mir_snprintf(szBuff,_countof(szBuff),"%s%ld",lpszValueName,i); - if ( DB_GetStaticStringW(hContact,lpszModule,szBuff,wszPhoneLocal,_countof(wszPhoneLocal),&dwPhoneSizeLocal)) { - if (IsPhoneW(wszPhoneLocal,dwPhoneSizeLocal)) { - dwPhoneSizeLocal=CopyNumberW(wszPhoneLocal,wszPhoneLocal,dwPhoneSizeLocal); - if (MemoryCompare(wszPhoneLocal,dwPhoneSizeLocal,lpwszPhone,dwPhoneSize) == CSTR_EQUAL) - return TRUE; - } + for (i = 0; i <= PHONES_MIN_COUNT; i++) { + mir_snprintf(szBuff, "%s%ld", lpszValueName, i); + if (DB_GetStaticStringW(hContact, lpszModule, szBuff, wszPhoneLocal, _countof(wszPhoneLocal), &dwPhoneSizeLocal)) { + if (IsPhoneW(wszPhoneLocal, dwPhoneSizeLocal)) { + dwPhoneSizeLocal = CopyNumberW(wszPhoneLocal, wszPhoneLocal, dwPhoneSizeLocal); + if (MemoryCompare(wszPhoneLocal, dwPhoneSizeLocal, lpwszPhone, dwPhoneSize) == CSTR_EQUAL) + return TRUE; } } - return FALSE; + } + return FALSE; } -BOOL IsContactPhone(MCONTACT hContact,LPWSTR lpwszPhone,size_t dwPhoneSize) +BOOL IsContactPhone(MCONTACT hContact, LPWSTR lpwszPhone, size_t dwPhoneSize) { - BOOL bRet=FALSE; + BOOL bRet = FALSE; WCHAR wszPhoneLocal[MAX_PHONE_LEN]; - size_t dwPhoneSizeLocal = CopyNumberW(wszPhoneLocal,lpwszPhone,dwPhoneSize); + size_t dwPhoneSizeLocal = CopyNumberW(wszPhoneLocal, lpwszPhone, dwPhoneSize); LPSTR lpszProto = GetContactProto(hContact); if (lpszProto) { - if (bRet==FALSE) bRet=IsContactPhoneParam(hContact,lpszProto,"Phone",wszPhoneLocal,dwPhoneSizeLocal); - if (bRet==FALSE) bRet=IsContactPhoneParam(hContact,lpszProto,"Cellular",wszPhoneLocal,dwPhoneSizeLocal); - if (bRet==FALSE) bRet=IsContactPhoneParam(hContact,lpszProto,"Fax",wszPhoneLocal,dwPhoneSizeLocal); + if (bRet == FALSE) bRet = IsContactPhoneParam(hContact, lpszProto, "Phone", wszPhoneLocal, dwPhoneSizeLocal); + if (bRet == FALSE) bRet = IsContactPhoneParam(hContact, lpszProto, "Cellular", wszPhoneLocal, dwPhoneSizeLocal); + if (bRet == FALSE) bRet = IsContactPhoneParam(hContact, lpszProto, "Fax", wszPhoneLocal, dwPhoneSizeLocal); } - if (bRet==FALSE) bRet=IsContactPhoneParam(hContact,"UserInfo","MyPhone",wszPhoneLocal,dwPhoneSizeLocal); - if (bRet==FALSE) bRet=IsContactPhoneParam(hContact,"UserInfo","Phone",wszPhoneLocal,dwPhoneSizeLocal); - if (bRet==FALSE) bRet=IsContactPhoneParam(hContact,"UserInfo","Cellular",wszPhoneLocal,dwPhoneSizeLocal); - if (bRet==FALSE) bRet=IsContactPhoneParam(hContact,"UserInfo","Fax",wszPhoneLocal,dwPhoneSizeLocal); + if (bRet == FALSE) bRet = IsContactPhoneParam(hContact, "UserInfo", "MyPhone", wszPhoneLocal, dwPhoneSizeLocal); + if (bRet == FALSE) bRet = IsContactPhoneParam(hContact, "UserInfo", "Phone", wszPhoneLocal, dwPhoneSizeLocal); + if (bRet == FALSE) bRet = IsContactPhoneParam(hContact, "UserInfo", "Cellular", wszPhoneLocal, dwPhoneSizeLocal); + if (bRet == FALSE) bRet = IsContactPhoneParam(hContact, "UserInfo", "Fax", wszPhoneLocal, dwPhoneSizeLocal); return bRet; } @@ -181,12 +179,12 @@ BOOL IsContactPhone(MCONTACT hContact,LPWSTR lpwszPhone,size_t dwPhoneSize) //This function get a string cellular number and return the HANDLE of the contact that has this //number in the miranda phonebook (and marked as an SMS able) at the User Details. //If no one has this number function returns NULL. -MCONTACT HContactFromPhone(LPWSTR lpwszPhone,size_t dwPhoneSize) +MCONTACT HContactFromPhone(LPWSTR lpwszPhone, size_t dwPhoneSize) { if (lpwszPhone && dwPhoneSize) { //check not already on list for (MCONTACT hContact = db_find_first(); hContact != NULL; hContact = db_find_next(hContact)) - if (IsContactPhone(hContact,lpwszPhone,dwPhoneSize)) + if (IsContactPhone(hContact, lpwszPhone, dwPhoneSize)) return hContact; } @@ -194,20 +192,20 @@ MCONTACT HContactFromPhone(LPWSTR lpwszPhone,size_t dwPhoneSize) } -BOOL GetDataFromMessage(LPSTR lpszMessage,size_t dwMessageSize,DWORD *pdwEventType,LPWSTR lpwszPhone,size_t dwPhoneSize,size_t *pdwPhoneSizeRet,UINT *piIcon) +BOOL GetDataFromMessage(LPSTR lpszMessage, size_t dwMessageSize, DWORD *pdwEventType, LPWSTR lpwszPhone, size_t dwPhoneSize, size_t *pdwPhoneSizeRet, UINT *piIcon) { - BOOL bRet=FALSE; + BOOL bRet = FALSE; - DWORD dwEventTypeRet=0; - size_t dwPhoneSizeRet=0; - UINT iIconRet=0; + DWORD dwEventTypeRet = 0; + size_t dwPhoneSizeRet = 0; + UINT iIconRet = 0; if (lpszMessage && dwMessageSize) { - if ( MemoryCompare(lpszMessage,10,"SMS From: ",10) == CSTR_EQUAL) { - LPSTR lpsz = (LPSTR)strstr(lpszMessage+10, "\r\n"); + if (MemoryCompare(lpszMessage, 10, "SMS From: ", 10) == CSTR_EQUAL) { + LPSTR lpsz = (LPSTR)strstr(lpszMessage + 10, "\r\n"); if (lpsz) { if (lpwszPhone && dwPhoneSize) { - dwPhoneSizeRet = MultiByteToWideChar(CP_UTF8,0,(lpszMessage+10),(int)min((size_t)(lpsz-(lpszMessage+10)),dwPhoneSize),lpwszPhone,(int)dwPhoneSize); + dwPhoneSizeRet = MultiByteToWideChar(CP_UTF8, 0, (lpszMessage + 10), (int)min((size_t)(lpsz - (lpszMessage + 10)), dwPhoneSize), lpwszPhone, (int)dwPhoneSize); dwPhoneSizeRet = CopyNumberW(lpwszPhone, lpwszPhone, dwPhoneSizeRet); } } @@ -215,16 +213,16 @@ BOOL GetDataFromMessage(LPSTR lpszMessage,size_t dwMessageSize,DWORD *pdwEventTy dwEventTypeRet = ICQEVENTTYPE_SMS; bRet = TRUE; } - else if (MemoryCompare(lpszMessage,23,"SMS Confirmation From: ",23) == CSTR_EQUAL) { - LPSTR lpsz = (LPSTR)strstr(lpszMessage+23, "\r\n"); + else if (MemoryCompare(lpszMessage, 23, "SMS Confirmation From: ", 23) == CSTR_EQUAL) { + LPSTR lpsz = (LPSTR)strstr(lpszMessage + 23, "\r\n"); if (lpsz) { if (lpwszPhone && dwPhoneSize) { - dwPhoneSizeRet = MultiByteToWideChar(CP_UTF8,0,(lpszMessage+23),(int)min((size_t)(lpsz-(lpszMessage+23)),dwPhoneSize),lpwszPhone,(int)dwPhoneSize); + dwPhoneSizeRet = MultiByteToWideChar(CP_UTF8, 0, (lpszMessage + 23), (int)min((size_t)(lpsz - (lpszMessage + 23)), dwPhoneSize), lpwszPhone, (int)dwPhoneSize); dwPhoneSizeRet = CopyNumberW(lpwszPhone, lpwszPhone, dwPhoneSizeRet); } lpsz += 2; - if (MemoryCompare(lpsz,24,"SMS was sent succesfully",24)==CSTR_EQUAL) + if (MemoryCompare(lpsz, 24, "SMS was sent succesfully", 24) == CSTR_EQUAL) iIconRet = IDI_SMSSENT; else iIconRet = IDI_SMSNOTSENT; @@ -241,20 +239,20 @@ BOOL GetDataFromMessage(LPSTR lpszMessage,size_t dwMessageSize,DWORD *pdwEventTy return bRet; } -BOOL GetXMLFieldEx(LPSTR lpszXML,size_t dwXMLSize,LPSTR *plpszData,size_t *pdwDataSize,const char *tag1,...) +BOOL GetXMLFieldEx(LPSTR lpszXML, size_t dwXMLSize, LPSTR *plpszData, size_t *pdwDataSize, const char *tag1, ...) { BOOL bRet = FALSE; int thisLevel = 0; LPSTR lpszFindTag = (LPSTR)tag1, lpszTagEnd = lpszXML, lpszDataStart = NULL; va_list va; - va_start(va,tag1); + va_start(va, tag1); while (TRUE) { - LPSTR lpszTagStart = (LPSTR)MemoryFindByte(lpszTagEnd-lpszXML, lpszXML, dwXMLSize, '<'); + LPSTR lpszTagStart = (LPSTR)MemoryFindByte(lpszTagEnd - lpszXML, lpszXML, dwXMLSize, '<'); if (!lpszTagStart) break; - lpszTagEnd = (LPSTR)MemoryFindByte(lpszTagStart-lpszXML, lpszXML, dwXMLSize, '>'); + lpszTagEnd = (LPSTR)MemoryFindByte(lpszTagStart - lpszXML, lpszXML, dwXMLSize, '>'); if (!lpszTagEnd) break; @@ -263,19 +261,19 @@ BOOL GetXMLFieldEx(LPSTR lpszXML,size_t dwXMLSize,LPSTR *plpszData,size_t *pdwDa if ((*((BYTE*)lpszTagStart)) == '/') { if (--thisLevel < 0) { if (lpszDataStart) { - if (plpszData) (*plpszData)=lpszDataStart; - if (pdwDataSize) (*pdwDataSize)=((lpszTagStart-1)-lpszDataStart); - bRet=TRUE; + if (plpszData) (*plpszData) = lpszDataStart; + if (pdwDataSize) (*pdwDataSize) = ((lpszTagStart - 1) - lpszDataStart); + bRet = TRUE; } break; } } else { - if (++thisLevel==1) - if (CompareStringA(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),NORM_IGNORECASE,lpszFindTag,-1,lpszTagStart,((lpszTagEnd+1)-lpszTagStart))==CSTR_EQUAL) { - lpszFindTag=va_arg(va,LPSTR); - if (lpszFindTag==NULL) lpszDataStart=(lpszTagEnd+2); - thisLevel=0; + if (++thisLevel == 1) + if (CompareStringA(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), NORM_IGNORECASE, lpszFindTag, -1, lpszTagStart, ((lpszTagEnd + 1) - lpszTagStart)) == CSTR_EQUAL) { + lpszFindTag = va_arg(va, LPSTR); + if (lpszFindTag == NULL) lpszDataStart = (lpszTagEnd + 2); + thisLevel = 0; } } } @@ -284,150 +282,145 @@ BOOL GetXMLFieldEx(LPSTR lpszXML,size_t dwXMLSize,LPSTR *plpszData,size_t *pdwDa } -BOOL GetXMLFieldExBuff(LPSTR lpszXML,size_t dwXMLSize,LPSTR lpszBuff,size_t dwBuffSize,size_t *pdwBuffSizeRet,const char *tag1,...) +BOOL GetXMLFieldExBuff(LPSTR lpszXML, size_t dwXMLSize, LPSTR lpszBuff, size_t dwBuffSize, size_t *pdwBuffSizeRet, const char *tag1, ...) { - BOOL bRet=FALSE; - int thisLevel=0; - LPSTR lpszFindTag=(LPSTR)tag1,lpszTagStart,lpszTagEnd=lpszXML,lpszDataStart=NULL; + BOOL bRet = FALSE; + int thisLevel = 0; + LPSTR lpszFindTag = (LPSTR)tag1, lpszTagStart, lpszTagEnd = lpszXML, lpszDataStart = NULL; va_list va; - va_start(va,tag1); - while (TRUE) - { - lpszTagStart=(LPSTR)MemoryFindByte((lpszTagEnd-lpszXML),lpszXML,dwXMLSize,'<'); - if (lpszTagStart) - { - lpszTagEnd=(LPSTR)MemoryFindByte((lpszTagStart-lpszXML),lpszXML,dwXMLSize,'>'); - if (lpszTagEnd) - { + va_start(va, tag1); + while (TRUE) { + lpszTagStart = (LPSTR)MemoryFindByte((lpszTagEnd - lpszXML), lpszXML, dwXMLSize, '<'); + if (lpszTagStart) { + lpszTagEnd = (LPSTR)MemoryFindByte((lpszTagStart - lpszXML), lpszXML, dwXMLSize, '>'); + if (lpszTagEnd) { lpszTagStart++; lpszTagEnd--; - if ((*((BYTE*)lpszTagStart))=='/') - { - if (--thisLevel<0) - { - if (lpszDataStart) - { - size_t dwBuffSizeRet=min((dwBuffSize-2),(size_t)((lpszTagStart-1)-lpszDataStart)); - if (lpszBuff && dwBuffSize) memcpy(lpszBuff,lpszDataStart,dwBuffSizeRet);(*((WORD*)(lpszBuff+dwBuffSizeRet)))=0; - if (pdwBuffSizeRet) (*pdwBuffSizeRet)=dwBuffSizeRet; - bRet=TRUE; + if ((*((BYTE*)lpszTagStart)) == '/') { + if (--thisLevel < 0) { + if (lpszDataStart) { + size_t dwBuffSizeRet = min((dwBuffSize - 2), (size_t)((lpszTagStart - 1) - lpszDataStart)); + if (lpszBuff && dwBuffSize) memcpy(lpszBuff, lpszDataStart, dwBuffSizeRet); (*((WORD*)(lpszBuff + dwBuffSizeRet))) = 0; + if (pdwBuffSizeRet) (*pdwBuffSizeRet) = dwBuffSizeRet; + bRet = TRUE; } break; } - }else{ - if (++thisLevel==1) - if (CompareStringA(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),NORM_IGNORECASE,lpszFindTag,-1,lpszTagStart,((lpszTagEnd+1)-lpszTagStart))==CSTR_EQUAL) - { - lpszFindTag=va_arg(va,LPSTR); - if (lpszFindTag==NULL) lpszDataStart=(lpszTagEnd+2); - thisLevel=0; + } + else { + if (++thisLevel == 1) + if (CompareStringA(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), NORM_IGNORECASE, lpszFindTag, -1, lpszTagStart, ((lpszTagEnd + 1) - lpszTagStart)) == CSTR_EQUAL) { + lpszFindTag = va_arg(va, LPSTR); + if (lpszFindTag == NULL) lpszDataStart = (lpszTagEnd + 2); + thisLevel = 0; } } - }else{ + } + else { break; } - }else{ + } + else { break; } } va_end(va); - if (bRet==FALSE) - { - if (lpszBuff) (*((WORD*)lpszBuff))=0; - if (pdwBuffSizeRet) (*pdwBuffSizeRet)=0; + if (bRet == FALSE) { + if (lpszBuff) (*((WORD*)lpszBuff)) = 0; + if (pdwBuffSizeRet) (*pdwBuffSizeRet) = 0; } return(bRet); } -DWORD ReplaceInBuff(LPVOID lpInBuff,size_t dwInBuffSize,size_t dwReplaceItemsCount,LPVOID *plpInReplaceItems,size_t *pdwInReplaceItemsCounts,LPVOID *plpOutReplaceItems,size_t *pdwOutReplaceItemsCounts,LPVOID lpOutBuff,size_t dwOutBuffSize,size_t *pdwOutBuffSize) +DWORD ReplaceInBuff(LPVOID lpInBuff, size_t dwInBuffSize, size_t dwReplaceItemsCount, LPVOID *plpInReplaceItems, size_t *pdwInReplaceItemsCounts, LPVOID *plpOutReplaceItems, size_t *pdwOutReplaceItemsCounts, LPVOID lpOutBuff, size_t dwOutBuffSize, size_t *pdwOutBuffSize) { - DWORD dwRetErrorCode=NO_ERROR; - LPBYTE *plpszFound,lpszMessageConvertedCur,lpszMessageCur,lpszMessageCurPrev,lpszMessageConvertedMax; - size_t i,dwFirstFoundedIndex=0,dwFoundedCount=0,dwMemPartToCopy; + DWORD dwRetErrorCode = NO_ERROR; + LPBYTE *plpszFound, lpszMessageConvertedCur, lpszMessageCur, lpszMessageCurPrev, lpszMessageConvertedMax; + size_t i, dwFirstFoundedIndex = 0, dwFoundedCount = 0, dwMemPartToCopy; - plpszFound=(LPBYTE*)MEMALLOC((sizeof(LPBYTE)*dwReplaceItemsCount)); + plpszFound = (LPBYTE*)MEMALLOC((sizeof(LPBYTE)*dwReplaceItemsCount)); - lpszMessageCurPrev=(LPBYTE)lpInBuff; - lpszMessageConvertedCur=(LPBYTE)lpOutBuff; - lpszMessageConvertedMax=(((LPBYTE)lpOutBuff)+dwOutBuffSize); + lpszMessageCurPrev = (LPBYTE)lpInBuff; + lpszMessageConvertedCur = (LPBYTE)lpOutBuff; + lpszMessageConvertedMax = (((LPBYTE)lpOutBuff) + dwOutBuffSize); // looking for in first time - for (i=0; i < dwReplaceItemsCount; i++) { - plpszFound[i] = (LPBYTE)strstr((LPCSTR)lpInBuff + (lpszMessageCurPrev-(LPBYTE)lpInBuff), (LPCSTR)plpInReplaceItems[i]); + for (i = 0; i < dwReplaceItemsCount; i++) { + plpszFound[i] = (LPBYTE)strstr((LPCSTR)lpInBuff + (lpszMessageCurPrev - (LPBYTE)lpInBuff), (LPCSTR)plpInReplaceItems[i]); if (plpszFound[i]) dwFoundedCount++; } while (dwFoundedCount) { // looking for first to replace - for(i=0; i < dwReplaceItemsCount; i++) + for (i = 0; i < dwReplaceItemsCount; i++) if (plpszFound[i] && (plpszFound[i] < plpszFound[dwFirstFoundedIndex] || plpszFound[dwFirstFoundedIndex] == NULL)) dwFirstFoundedIndex = i; // in founded if (plpszFound[dwFirstFoundedIndex]) { - dwMemPartToCopy=(plpszFound[dwFirstFoundedIndex]-lpszMessageCurPrev); - if (lpszMessageConvertedMax > (lpszMessageConvertedCur+(dwMemPartToCopy+pdwInReplaceItemsCounts[dwFirstFoundedIndex]))) { - memcpy(lpszMessageConvertedCur,lpszMessageCurPrev,dwMemPartToCopy);lpszMessageConvertedCur+=dwMemPartToCopy; - memcpy(lpszMessageConvertedCur,plpOutReplaceItems[dwFirstFoundedIndex],pdwOutReplaceItemsCounts[dwFirstFoundedIndex]);lpszMessageConvertedCur+=pdwOutReplaceItemsCounts[dwFirstFoundedIndex]; - lpszMessageCurPrev=(plpszFound[dwFirstFoundedIndex]+pdwInReplaceItemsCounts[dwFirstFoundedIndex]); - - for(i=0;i (lpszMessageConvertedCur + (dwMemPartToCopy + pdwInReplaceItemsCounts[dwFirstFoundedIndex]))) { + memcpy(lpszMessageConvertedCur, lpszMessageCurPrev, dwMemPartToCopy); lpszMessageConvertedCur += dwMemPartToCopy; + memcpy(lpszMessageConvertedCur, plpOutReplaceItems[dwFirstFoundedIndex], pdwOutReplaceItemsCounts[dwFirstFoundedIndex]); lpszMessageConvertedCur += pdwOutReplaceItemsCounts[dwFirstFoundedIndex]; + lpszMessageCurPrev = (plpszFound[dwFirstFoundedIndex] + pdwInReplaceItemsCounts[dwFirstFoundedIndex]); + + for (i = 0; i < dwReplaceItemsCount; i++) {// loking for in next time + if (plpszFound[i] && plpszFound[i] < lpszMessageCurPrev) { dwFoundedCount--; - plpszFound[i] = (LPBYTE)strstr((LPCSTR)lpInBuff + (lpszMessageCurPrev-(LPBYTE)lpInBuff), (LPCSTR)plpInReplaceItems[i]); + plpszFound[i] = (LPBYTE)strstr((LPCSTR)lpInBuff + (lpszMessageCurPrev - (LPBYTE)lpInBuff), (LPCSTR)plpInReplaceItems[i]); if (plpszFound[i]) dwFoundedCount++; } } - }else{ - dwRetErrorCode=ERROR_BUFFER_OVERFLOW; + } + else { + dwRetErrorCode = ERROR_BUFFER_OVERFLOW; DebugBreak(); break; } - }else{// сюда по идее никогда не попадём, на всякий случай. + } + else {// сюда по идее никогда не попадём, на всякий случай. DebugBreak(); break; } } - lpszMessageCur=(((LPBYTE)lpInBuff)+dwInBuffSize); - memcpy(lpszMessageConvertedCur,lpszMessageCurPrev,(lpszMessageCur-lpszMessageCurPrev));lpszMessageConvertedCur+=(lpszMessageCur-lpszMessageCurPrev); - (*((WORD*)lpszMessageConvertedCur))=0; + lpszMessageCur = (((LPBYTE)lpInBuff) + dwInBuffSize); + memcpy(lpszMessageConvertedCur, lpszMessageCurPrev, (lpszMessageCur - lpszMessageCurPrev)); lpszMessageConvertedCur += (lpszMessageCur - lpszMessageCurPrev); + (*((WORD*)lpszMessageConvertedCur)) = 0; MEMFREE(plpszFound); - if (pdwOutBuffSize) (*pdwOutBuffSize)=(lpszMessageConvertedCur-((LPBYTE)lpOutBuff)); + if (pdwOutBuffSize) (*pdwOutBuffSize) = (lpszMessageConvertedCur - ((LPBYTE)lpOutBuff)); return(dwRetErrorCode); } -static const LPTSTR lpszXMLTags[] ={TEXT("'"), TEXT("""), TEXT("&"), TEXT("<"), TEXT(">")}; -static const size_t dwXMLTagsCount[] ={(6*sizeof(TCHAR)), (6*sizeof(TCHAR)), (5*sizeof(TCHAR)), (4*sizeof(TCHAR)), (4*sizeof(TCHAR))}; -static const LPTSTR lpszXMLSymbols[] ={TEXT("\'"), TEXT("\""), TEXT("&"), TEXT("<"), TEXT(">")}; -static const size_t dwXMLSymbolsCount[] ={sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR)}; +static const LPTSTR lpszXMLTags[] = { TEXT("'"), TEXT("""), TEXT("&"), TEXT("<"), TEXT(">") }; +static const size_t dwXMLTagsCount[] = { (6 * sizeof(TCHAR)), (6 * sizeof(TCHAR)), (5 * sizeof(TCHAR)), (4 * sizeof(TCHAR)), (4 * sizeof(TCHAR)) }; +static const LPTSTR lpszXMLSymbols[] = { TEXT("\'"), TEXT("\""), TEXT("&"), TEXT("<"), TEXT(">") }; +static const size_t dwXMLSymbolsCount[] = { sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR) }; //Decode XML coded string. The function translate special xml code into standard characters. -DWORD DecodeXML(LPTSTR lptszMessage,size_t dwMessageSize,LPTSTR lptszMessageConverted,size_t dwMessageConvertedBuffSize,size_t *pdwMessageConvertedSize) +DWORD DecodeXML(LPTSTR lptszMessage, size_t dwMessageSize, LPTSTR lptszMessageConverted, size_t dwMessageConvertedBuffSize, size_t *pdwMessageConvertedSize) { - DWORD dwRet=ReplaceInBuff(lptszMessage,(dwMessageSize*sizeof(TCHAR)),_countof(lpszXMLTags),(LPVOID*)lpszXMLTags,(size_t*)dwXMLTagsCount,(LPVOID*)lpszXMLSymbols,(size_t*)dwXMLSymbolsCount,lptszMessageConverted,(dwMessageConvertedBuffSize*sizeof(TCHAR)),pdwMessageConvertedSize); + DWORD dwRet = ReplaceInBuff(lptszMessage, (dwMessageSize*sizeof(TCHAR)), _countof(lpszXMLTags), (LPVOID*)lpszXMLTags, (size_t*)dwXMLTagsCount, (LPVOID*)lpszXMLSymbols, (size_t*)dwXMLSymbolsCount, lptszMessageConverted, (dwMessageConvertedBuffSize*sizeof(TCHAR)), pdwMessageConvertedSize); - if (pdwMessageConvertedSize) (*pdwMessageConvertedSize)/=sizeof(TCHAR); + if (pdwMessageConvertedSize) (*pdwMessageConvertedSize) /= sizeof(TCHAR); return(dwRet); } //Encode XML coded string. The function translate special saved xml characters into special characters. -DWORD EncodeXML(LPTSTR lptszMessage,size_t dwMessageSize,LPTSTR lptszMessageConverted,size_t dwMessageConvertedBuffSize,size_t *pdwMessageConvertedSize) +DWORD EncodeXML(LPTSTR lptszMessage, size_t dwMessageSize, LPTSTR lptszMessageConverted, size_t dwMessageConvertedBuffSize, size_t *pdwMessageConvertedSize) { - DWORD dwRet=ReplaceInBuff(lptszMessage,(dwMessageSize*sizeof(TCHAR)),_countof(lpszXMLTags),(LPVOID*)lpszXMLSymbols,(size_t*)dwXMLSymbolsCount,(LPVOID*)lpszXMLTags,(size_t*)dwXMLTagsCount,lptszMessageConverted,(dwMessageConvertedBuffSize*sizeof(TCHAR)),pdwMessageConvertedSize); + DWORD dwRet = ReplaceInBuff(lptszMessage, (dwMessageSize*sizeof(TCHAR)), _countof(lpszXMLTags), (LPVOID*)lpszXMLSymbols, (size_t*)dwXMLSymbolsCount, (LPVOID*)lpszXMLTags, (size_t*)dwXMLTagsCount, lptszMessageConverted, (dwMessageConvertedBuffSize*sizeof(TCHAR)), pdwMessageConvertedSize); - if (pdwMessageConvertedSize) (*pdwMessageConvertedSize)/=sizeof(TCHAR); + if (pdwMessageConvertedSize) (*pdwMessageConvertedSize) /= sizeof(TCHAR); return(dwRet); } @@ -439,53 +432,51 @@ BYTE MsgDlgGetFontDefaultCharset(const TCHAR*) } -void LoadMsgDlgFont(int i,LOGFONT *lf,COLORREF *colour) +void LoadMsgDlgFont(int i, LOGFONT *lf, COLORREF *colour) { int style; char str[MAX_PATH]; DBVARIANT dbv; - if (colour) - { - mir_snprintf(str,_countof(str),"Font%dCol",i); - (*colour)=db_get_dw(NULL,SRMMMOD,str,fontOptionsList[0].defColour); + if (colour) { + mir_snprintf(str, "Font%dCol", i); + (*colour) = db_get_dw(NULL, SRMMMOD, str, fontOptionsList[0].defColour); } - if (lf) - { - if (db_get(NULL,SRMMMOD,str,&dbv)) - { - mir_tstrncpy(lf->lfFaceName,fontOptionsList[0].szDefFace,_countof(lf->lfFaceName)); - }else{ - mir_tstrncpy(lf->lfFaceName,dbv.ptszVal,_countof(lf->lfFaceName)); + if (lf) { + if (db_get(NULL, SRMMMOD, str, &dbv)) { + mir_tstrncpy(lf->lfFaceName, fontOptionsList[0].szDefFace, _countof(lf->lfFaceName)); + } + else { + mir_tstrncpy(lf->lfFaceName, dbv.ptszVal, _countof(lf->lfFaceName)); db_free(&dbv); } - mir_snprintf(str,_countof(str),"Font%dSize",i); - lf->lfHeight=(char)db_get_b(NULL,SRMMMOD,str,fontOptionsList[0].defSize); - lf->lfWidth=0; - lf->lfEscapement=0; - lf->lfOrientation=0; - mir_snprintf(str,_countof(str),"Font%dSty",i); - style=db_get_b(NULL,SRMMMOD,str,fontOptionsList[0].defStyle); - lf->lfWeight=style&FONTF_BOLD?FW_BOLD:FW_NORMAL; - lf->lfItalic=style&FONTF_ITALIC?1:0; - lf->lfUnderline=0; - lf->lfStrikeOut=0; - mir_snprintf(str,_countof(str),"Font%dSet",i); - lf->lfCharSet=db_get_b(NULL,SRMMMOD,str,MsgDlgGetFontDefaultCharset(lf->lfFaceName)); - lf->lfOutPrecision=OUT_DEFAULT_PRECIS; - lf->lfClipPrecision=CLIP_DEFAULT_PRECIS; - lf->lfQuality=DEFAULT_QUALITY; - lf->lfPitchAndFamily=DEFAULT_PITCH|FF_DONTCARE; - mir_snprintf(str,_countof(str),"Font%d",i); + mir_snprintf(str, "Font%dSize", i); + lf->lfHeight = (char)db_get_b(NULL, SRMMMOD, str, fontOptionsList[0].defSize); + lf->lfWidth = 0; + lf->lfEscapement = 0; + lf->lfOrientation = 0; + mir_snprintf(str, "Font%dSty", i); + style = db_get_b(NULL, SRMMMOD, str, fontOptionsList[0].defStyle); + lf->lfWeight = style&FONTF_BOLD ? FW_BOLD : FW_NORMAL; + lf->lfItalic = style&FONTF_ITALIC ? 1 : 0; + lf->lfUnderline = 0; + lf->lfStrikeOut = 0; + mir_snprintf(str, "Font%dSet", i); + lf->lfCharSet = db_get_b(NULL, SRMMMOD, str, MsgDlgGetFontDefaultCharset(lf->lfFaceName)); + lf->lfOutPrecision = OUT_DEFAULT_PRECIS; + lf->lfClipPrecision = CLIP_DEFAULT_PRECIS; + lf->lfQuality = DEFAULT_QUALITY; + lf->lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE; + mir_snprintf(str, "Font%d", i); } } -LRESULT CALLBACK MessageSubclassProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) +LRESULT CALLBACK MessageSubclassProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { - switch(message) { - case WM_CHAR: + switch (message) { + case WM_CHAR: if (wParam == '\n' && GetKeyState(VK_CONTROL) & 0x8000) { PostMessage(GetParent(hwnd), WM_COMMAND, IDOK, 0); return 0; @@ -499,17 +490,17 @@ LRESULT CALLBACK MessageSubclassProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM //It called when SMS plugin loaded and upon change in the account list. int RefreshAccountList(WPARAM, LPARAM) { - int dwAccCount=0,dwSMSAccountsCount=0; + int dwAccCount = 0, dwSMSAccountsCount = 0; PROTOACCOUNT **ppaAccounts; - Proto_EnumAccounts((int*)&dwAccCount,&ppaAccounts); + Proto_EnumAccounts((int*)&dwAccCount, &ppaAccounts); FreeAccountList(); - ssSMSSettings.ppaSMSAccounts=(PROTOACCOUNT**)MEMALLOC((dwAccCount*sizeof(LPVOID))); + ssSMSSettings.ppaSMSAccounts = (PROTOACCOUNT**)MEMALLOC((dwAccCount*sizeof(LPVOID))); if (ssSMSSettings.ppaSMSAccounts) - for (int i=0; i < dwAccCount; i++) - if ( Proto_IsAccountEnabled(ppaAccounts[i])) - if ( ProtoServiceExists(ppaAccounts[i]->szModuleName,MS_ICQ_SENDSMS)) + for (int i = 0; i < dwAccCount; i++) + if (Proto_IsAccountEnabled(ppaAccounts[i])) + if (ProtoServiceExists(ppaAccounts[i]->szModuleName, MS_ICQ_SENDSMS)) ssSMSSettings.ppaSMSAccounts[dwSMSAccountsCount++] = ppaAccounts[i]; ssSMSSettings.dwSMSAccountsCount = dwSMSAccountsCount; @@ -523,5 +514,5 @@ int RefreshAccountList(WPARAM, LPARAM) void FreeAccountList() { MEMFREE(ssSMSSettings.ppaSMSAccounts); - ssSMSSettings.dwSMSAccountsCount=0; + ssSMSSettings.dwSMSAccountsCount = 0; } -- cgit v1.2.3