From d961f42c7f709929258c2a5b33fbb47acc399522 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 2 Jul 2012 20:37:03 +0000 Subject: - mir_cslock - class for locking critical sections; - unneeded helpers removed; - code cleaning in TTB git-svn-id: http://svn.miranda-ng.org/main/trunk@727 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/helpers/xmlhelpers.cpp | 418 ----------------------------------------- 1 file changed, 418 deletions(-) delete mode 100644 plugins/helpers/xmlhelpers.cpp (limited to 'plugins/helpers/xmlhelpers.cpp') diff --git a/plugins/helpers/xmlhelpers.cpp b/plugins/helpers/xmlhelpers.cpp deleted file mode 100644 index b6d3fa70c8..0000000000 --- a/plugins/helpers/xmlhelpers.cpp +++ /dev/null @@ -1,418 +0,0 @@ -#include "commonheaders.h" -#include "gen_helpers.h" - -char *XMLEncodeString(TCHAR *tszSrc) { - - int cur, len; - TCHAR *tszEsc, *tszRep; - char *szRes; - - if (tszSrc == NULL) { - return NULL; - } - tszEsc = _tcsdup(tszSrc); - cur = len = 0; - while (tszEsc[cur] != _T('\0')) { - tszRep = NULL; - switch (tszEsc[cur]) { - case _T('<'): - len = 1; - tszRep = _T("<"); - break; - case _T('>'): - len = 1; - tszRep = _T(">"); - break; - case _T('&'): - len = 1; - tszRep = _T("&"); - break; - case _T('\''): - len = 1; - tszRep = _T("'"); - break; - case _T('"'): - len = 1; - tszRep = _T("""); - break; - case _T('\r'): - if (tszEsc[cur+1] == _T('\n')) { - len = 2; - tszRep = _T(" "); - } - break; - case _T('\n'): - len = 1; - tszRep = _T(" "); - break; - } - // tszRep > len !!! - if (tszRep != NULL) { - tszEsc = realloc(tszEsc, (_tcslen(tszEsc) + _tcslen(tszRep) - len + 1)*sizeof(TCHAR)); - MoveMemory(&tszEsc[cur+_tcslen(tszRep) - len], &tszEsc[cur], _tcslen(&tszEsc[cur]) + 1); - CopyMemory(&tszEsc[cur], tszRep, _tcslen(tszRep)*sizeof(TCHAR)); - cur += _tcslen(tszRep); - } - else { - cur++; - } - } -#ifdef UNICODE - szRes = Utf8EncodeUcs2(tszEsc); -#else - szRes = Utf8Encode(tszEsc); -#endif - free(tszEsc); - - return szRes; -} - -char *XMLEncodeStringA(char *szSrc) { - - int cur, len; - char *szEsc, *szRep; - - if (szSrc == NULL) { - return NULL; - } - szEsc = _strdup(szSrc); - cur = len = 0; - while (szEsc[cur] != '\0') { - szRep = NULL; - switch (szEsc[cur]) { - case '<': - len = 1; - szRep = "<"; - break; - case '>': - len = 1; - szRep = ">"; - break; - case '&': - len = 1; - szRep = "&"; - break; - case '\'': - len = 1; - szRep = "'"; - break; - case '"': - len = 1; - szRep = """; - break; - case '\r': - if (szEsc[cur+1] == '\n') { - len = 2; - szRep = " "; - } - break; - case '\n': - len = 1; - szRep = " "; - break; - } - if (szRep != NULL) { - szEsc = realloc(szEsc, (strlen(szEsc) + strlen(szRep) - len + 1)); - MoveMemory(&szEsc[cur+strlen(szRep) - len], &szEsc[cur], strlen(&szEsc[cur]) + 1); - CopyMemory(&szEsc[cur], szRep, strlen(szRep)); - cur+=strlen(szRep); - } - else { - cur++; - } - } - - return szEsc; -} - -TCHAR *DecodeXMLString(char *szSrc) { - - int cur; - TCHAR *tszEsc, *tszRep, *tszTrans; - char *szEsc; -#ifdef UNICODE - wchar_t *wszEsc; -#endif - - if (szSrc == NULL) { - return NULL; - } - szEsc = _strdup(szSrc); -#ifdef UNICODE - Utf8Decode(szEsc, &wszEsc); - tszEsc = wszEsc; - free(szEsc); -#else - Utf8Decode(szEsc, NULL); - tszEsc = szEsc; -#endif - cur= 0; - while (tszEsc[cur] != _T('\0')) { - tszRep = NULL; - if (!_tcsncmp(&tszEsc[cur], _T("<"), 4)) { - tszRep = _T("<"); - tszTrans = _T("<"); - } - else if (!_tcsncmp(&tszEsc[cur], _T(">"), 4)) { - tszRep = _T(">"); - tszTrans = _T(">"); - } - else if (!_tcsncmp(&tszEsc[cur], _T("&"), 5)) { - tszRep = _T("&"); - tszTrans = _T("&"); - } - else if (!_tcsncmp(&tszEsc[cur], _T("'"), 6)) { - tszRep = _T("'"); - tszTrans = _T("\'"); - } - else if (!_tcsncmp(&tszEsc[cur], _T("""), 6)) { - tszRep = _T("""); - tszTrans = _T("&"); - } - else if (!_tcsncmp(&tszEsc[cur], _T(" "), 5)) { - tszRep = _T(" "); - tszTrans = _T("\r\n"); - } - if (tszRep != NULL) { - tszEsc = realloc(tszEsc, (_tcslen(tszEsc) - _tcslen(tszRep) + _tcslen(tszTrans) + 1)*sizeof(TCHAR)); - MoveMemory(&tszEsc[cur+_tcslen(tszTrans)], &tszEsc[cur+_tcslen(tszRep)], _tcslen(&tszEsc[cur+_tcslen(tszRep)]) + 1); - CopyMemory(&tszEsc[cur], tszTrans, _tcslen(tszTrans)*sizeof(TCHAR)); - cur += _tcslen(tszTrans); - } - else { - cur++; - } - } - - return tszEsc; -} - -char *DecodeXMLStringA(char *szSrc, BOOL bUtfDecode) { - - int cur; - char *szEsc, *szRep, *szTrans; - - if (szSrc == NULL) { - return NULL; - } - szEsc = _strdup(szSrc); - if (bUtfDecode) { - Utf8Decode(szEsc, NULL); - } - cur= 0; - while (szEsc[cur] != '\0') { - szRep = NULL; - if (!strncmp(&szEsc[cur], "<", 4)) { - szRep = "<"; - szTrans = "<"; - } - else if (!strncmp(&szEsc[cur], ">", 4)) { - szRep = ">"; - szTrans = ">"; - } - else if (!strncmp(&szEsc[cur], "&", 5)) { - szRep = "&"; - szTrans = "&"; - } - else if (!strncmp(&szEsc[cur], "'", 6)) { - szRep = "'"; - szTrans = "'"; - } - else if (!strncmp(&szEsc[cur], """, 6)) { - szRep = """; - szTrans = "&"; - } - else if (!strncmp(&szEsc[cur], " ", 5)) { - szRep = " "; - szTrans = "\r\n"; - } - if (szRep != NULL) { - szEsc = realloc(szEsc, (strlen(szEsc) - strlen(szRep) + strlen(szTrans) + 1)); - MoveMemory(&szEsc[cur+strlen(szTrans)], &szEsc[cur+strlen(szRep)], strlen(&szEsc[cur+strlen(szRep)]) + 1); - CopyMemory(&szEsc[cur], szTrans, strlen(szTrans)); - cur += strlen(szTrans); - } - else { - cur++; - } - } - - return szEsc; -} - -void AppendXMLOpeningTag(char **szBuf, char *szTag, int *depth) { - - char *cur; - - *depth += 1; - *szBuf = realloc(*szBuf, strlen(*szBuf) + strlen(szTag) + *depth + 4); - cur = *szBuf+strlen(*szBuf); - *cur = '\n'; - if (*depth > 0) { - memset(cur+1, ' ', *depth); - } - *(cur+1+*depth) = '\0'; - sprintf(*szBuf+strlen(*szBuf), "<%s>", szTag); -} - -void AppendXMLClosingTag(char **szBuf, char *szTag, int *depth) { - - char *cur; - - *depth -= 1; - *szBuf = realloc(*szBuf, strlen(*szBuf) + strlen(szTag) + *depth + 5); - cur = *szBuf+strlen(*szBuf); - *cur = '\n'; - if (*depth > 0) { - memset(cur+1, ' ', *depth); - } - *(cur+1+*depth) = '\0'; - sprintf(*szBuf+strlen(*szBuf), "", szTag); -} - -void AppendXMLTag(char **szBuf, char *szTag, char *szAtts, int *depth) { - - char *cur; - - *depth += 1; - if (szAtts != NULL) { - *szBuf = realloc(*szBuf, strlen(*szBuf) + strlen(szTag) + strlen(szAtts) + *depth + 6); - } - else { - *szBuf = realloc(*szBuf, strlen(*szBuf) + strlen(szTag) + *depth + 5); - } - cur = *szBuf+strlen(*szBuf); - *cur = '\n'; - if (*depth > 0) { - memset(cur+1, ' ', *depth); - } - *(cur+1+*depth) = '\0'; - if (szAtts != NULL) { - sprintf(*szBuf+strlen(*szBuf), "<%s %s/>", szTag, szAtts); - } - else { - sprintf(*szBuf+strlen(*szBuf), "<%s/>", szTag); - } - *depth -= 1; -} - -char *GetSettingType(BYTE type) { - - switch (type) { - case DBVT_BYTE: - return "BYTE"; - case DBVT_WORD: - return "WORD"; - case DBVT_DWORD: - return "DWORD"; - case DBVT_ASCIIZ: - return "ASCIIZ"; - case DBVT_BLOB: - return "BLOB"; - case DBVT_UTF8: - return "UTF8"; - case DBVT_WCHAR: - return "WCHAR"; - } - return "UNKNOWN"; -} - -void AppendXMLTagTString(char **szBuf, char *szTag, TCHAR *tszVal, int *depth) { - - char *szVal, *szAtts, *szType; - - szVal = XMLEncodeString(tszVal); -#ifdef UNICODE - szType = GetSettingType(DBVT_WCHAR); -#else - szType = GetSettingType(DBVT_ASCIIZ); -#endif - szAtts = malloc(strlen(szVal) + strlen(szType) + 17); - sprintf(szAtts, "type=\"%s\" value=\"%s\"", szType, szVal); - AppendXMLTag(szBuf, szTag, szAtts, depth); - free(szAtts); - free(szVal); -} - -void AppendXMLTagString(char **szBuf, char *szTag, char *szVal, int *depth) { - - char *szEnc, *szAtts, *szType; - - szEnc = XMLEncodeStringA(szVal); - szType = GetSettingType(DBVT_ASCIIZ); - szAtts = malloc(strlen(szEnc) + strlen(szType) + 17); - sprintf(szAtts, "type=\"%s\" value=\"%s\"", szType, szEnc); - AppendXMLTag(szBuf, szTag, szAtts, depth); - free(szAtts); - free(szEnc); -} - -void AppendXMLTagUtfString(char **szBuf, char *szTag, char *szVal, int *depth) { - - char *szEnc, *szAtts, *szType; - - szEnc = XMLEncodeStringA(szVal); - szType = GetSettingType(DBVT_UTF8); - szAtts = malloc(strlen(szEnc) + strlen(szType) + 17); - sprintf(szAtts, "type=\"%s\" value=\"%s\"", szType, szEnc); - AppendXMLTag(szBuf, szTag, szAtts, depth); - free(szAtts); - free(szEnc); -} - -void AppendXMLTagByte(char **szBuf, char *szTag, BYTE bVal, int *depth) { - - char szVal[64], *szAtts, *szType; - - mir_snprintf(szVal, sizeof(szVal), "0x%x", bVal); - szType = GetSettingType(DBVT_BYTE); - szAtts = malloc(strlen(szVal) + strlen(szType) + 17); - sprintf(szAtts, "type=\"%s\" value=\"%s\"", szType, szVal); - AppendXMLTag(szBuf, szTag, szAtts, depth); - free(szAtts); -} - -void AppendXMLTagWord(char **szBuf, char *szTag, WORD wVal, int *depth) { - - char szVal[64], *szAtts, *szType; - - mir_snprintf(szVal, sizeof(szVal), "0x%x", wVal); - szType = GetSettingType(DBVT_WORD); - szAtts = malloc(strlen(szVal) + strlen(szType) + 17); - sprintf(szAtts, "type=\"%s\" value=\"%s\"", szType, szVal); - AppendXMLTag(szBuf, szTag, szAtts, depth); - free(szAtts); -} - -void AppendXMLTagDword(char **szBuf, char *szTag, DWORD dVal, int *depth) { - - char szVal[64], *szAtts, *szType; - - mir_snprintf(szVal, sizeof(szVal), "0x%x", dVal); - szType = GetSettingType(DBVT_DWORD); - szAtts = malloc(strlen(szVal) + strlen(szType) + 17); - sprintf(szAtts, "type=\"%s\" value=\"%s\"", szType, szVal); - AppendXMLTag(szBuf, szTag, szAtts, depth); - free(szAtts); -} - -void AppendXMLTagBlob(char **szBuf, char *szTag, BYTE *pBlob, int cbBlob, int *depth) { - - int maxLen; - char *szType, *szVal, *szAtts; - NETLIBBASE64 nlb; - - maxLen = Netlib_GetBase64EncodedBufferSize(cbBlob); - szVal = malloc(maxLen + 1); - ZeroMemory(&nlb, sizeof(NETLIBBASE64)); - nlb.cbDecoded = cbBlob; - nlb.pbDecoded = pBlob; - nlb.cchEncoded = maxLen; - nlb.pszEncoded = szVal; - CallService(MS_NETLIB_BASE64ENCODE, 0, (LPARAM)&nlb); - szType = GetSettingType(DBVT_BLOB); - szAtts = malloc(strlen(szVal) + strlen(szType) + 17); - sprintf(szAtts, "type=\"%s\" value=\"%s\"", szType, szVal); - AppendXMLTag(szBuf, szTag, szAtts, depth); - free(szAtts); -} -- cgit v1.2.3