From 5ac26cff397836222eb8d51d866890f96321c601 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10> Date: Sun, 25 Apr 2010 15:57:51 +0000 Subject: Optimizations, removed redundant code, better compatibility with popup+ git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@512 4f64403b-2f21-0410-a795-97e2b3489a10 --- yapp/str_utils.cpp | 229 ----------------------------------------------------- 1 file changed, 229 deletions(-) delete mode 100644 yapp/str_utils.cpp (limited to 'yapp/str_utils.cpp') diff --git a/yapp/str_utils.cpp b/yapp/str_utils.cpp deleted file mode 100644 index c2636ac..0000000 --- a/yapp/str_utils.cpp +++ /dev/null @@ -1,229 +0,0 @@ -#include "common.h" -#include "str_utils.h" - -int code_page = CP_ACP; - -void set_codepage() { - if(ServiceExists(MS_LANGPACK_GETCODEPAGE)) - code_page = CallService(MS_LANGPACK_GETCODEPAGE, 0, 0); -} - -bool a2w(const char *as, wchar_t *buff, int bufflen){ - if(as) MultiByteToWideChar(code_page, 0, as, -1, buff, bufflen); - return true; -} - -bool w2a(const wchar_t *ws, char *buff, int bufflen) { - if(ws) WideCharToMultiByte(code_page, 0, ws, -1, buff, bufflen, 0, 0); - return true; -} - -bool u2w(const char *us, wchar_t *buff, int bufflen) { - if(us) MultiByteToWideChar(CP_UTF8, 0, us, -1, buff, bufflen); - return true; -} - -bool w2u(const wchar_t *ws, char *buff, int bufflen) { - if(ws) WideCharToMultiByte(CP_UTF8, 0, ws, -1, buff, bufflen, 0, 0); - return true; -} - -bool a2u(const char *as, char *buff, int bufflen) { - if(!as) return false; - - wchar_t *ws = a2w(as); - if(ws) WideCharToMultiByte(CP_UTF8, 0, ws, -1, buff, bufflen, 0, 0); - free(ws); - return true; -} - -bool u2a(const char *us, char *buff, int bufflen) { - if(!us) return false; - - wchar_t *ws = u2w(us); - if(ws) WideCharToMultiByte(code_page, 0, ws, -1, buff, bufflen, 0, 0); - free(ws); - return true; -} - - -bool t2w(const TCHAR *ts, wchar_t *buff, int bufflen) { -#ifdef _UNICODE - wcsncpy(buff, ts, bufflen); - return true; -#else - return a2w(ts, buff, bufflen); -#endif -} - -bool w2t(const wchar_t *ws, TCHAR *buff, int bufflen) { -#ifdef _UNICODE - wcsncpy(buff, ws, bufflen); - return true; -#else - return w2a(ws, buff, bufflen); -#endif -} - -bool t2a(const TCHAR *ts, char *buff, int bufflen) { -#ifdef _UNICODE - return w2a(ts, buff, bufflen); -#else - strncpy(buff, ts, bufflen); - return true; -#endif -} - -bool a2t(const char *as, TCHAR *buff, int bufflen) { -#ifdef _UNICODE - return a2w(as, buff, bufflen); -#else - strncpy(buff, as, bufflen); - return true; -#endif -} - -bool t2u(const TCHAR *ts, char *buff, int bufflen) { -#ifdef _UNICODE - return w2u(ts, buff, bufflen); -#else - return a2u(ts, buff, bufflen); -#endif -} - -bool u2t(const char *us, TCHAR *buff, int bufflen) { -#ifdef _UNICODE - return u2w(us, buff, bufflen); -#else - return u2a(us, buff, bufflen); -#endif -} - -wchar_t *u2w(const char *us) { - if(us) { - int size = MultiByteToWideChar(CP_UTF8, 0, us, -1, 0, 0); - wchar_t *buff = (wchar_t *)malloc(size * sizeof(wchar_t)); - MultiByteToWideChar(CP_UTF8, 0, us, -1, buff, size); - return buff; - } else - return 0; -} - -char *w2u(const wchar_t *ws) { - if(ws) { - int size = WideCharToMultiByte(CP_UTF8, 0, ws, -1, 0, 0, 0, 0); - char *buff = (char *)malloc(size); - WideCharToMultiByte(CP_UTF8, 0, ws, -1, buff, size, 0, 0); - return buff; - } else - return 0; -} - -wchar_t *a2w(const char *as) { - int size = MultiByteToWideChar(code_page, 0, as, -1, 0, 0); - wchar_t *buff = (wchar_t *)malloc(size * sizeof(wchar_t)); - MultiByteToWideChar(code_page, 0, as, -1, buff, size); - return buff; -} - -char *w2a(const wchar_t *ws) { - int size = WideCharToMultiByte(code_page, 0, ws, -1, 0, 0, 0, 0); - char *buff = (char *)malloc(size); - WideCharToMultiByte(code_page, 0, ws, -1, buff, size, 0, 0); - return buff; -} - -char *u2a(const char *utfs) { - wchar_t *ws = u2w(utfs); - char *ret = w2a(ws); - free(ws); - return ret; -} - -char *a2u(const char *as) { - wchar_t *ws = a2w(as); - char *ret = w2u(ws); - free(ws); - return ret; -} - -TCHAR *w2t(const wchar_t *ws) { -#ifdef _UNICODE - return wcsdup(ws); -#else - return w2a(ws); -#endif -} - -wchar_t *t2w(const TCHAR *ts) { -#ifdef _UNICODE - return _tcsdup(ts); -#else - return a2w(ts); -#endif -} - - -char *t2a(const TCHAR *ts) { -#ifdef _UNICODE - return w2a(ts); -#else - return _strdup(ts); -#endif -} - -TCHAR *a2t(const char *as) { -#ifdef _UNICODE - return a2w(as); -#else - return _strdup(as); -#endif -} - -TCHAR *u2t(const char *utfs) { -#ifdef _UNICODE - return u2w(utfs); -#else - wchar_t *ws = u2w(utfs); - char *ret = w2a(ws); - free(ws); - return ret; -#endif -} - -char *t2u(const TCHAR *ts) { -#ifdef _UNICODE - return w2u(ts); -#else - wchar_t *ws = a2w(ts); - char *ret = w2u(ws); - free(ws); - return ret; -#endif -} - -void trimW(wchar_t *str) { - int len = (int)wcslen(str), pos; - // trim whitespace (e.g. from OTR detection) - for(pos = len - 1; pos >= 0; pos--) { - if(str[pos] == L' ' || str[pos] == L'\t' || str[pos] == L'\r' || str[pos] == L'\n') str[pos] = 0; - else break; - } - - // remove tabs - for(pos = len - 1; pos >= 0; pos--) - if(str[pos] == L'\t') str[pos] = L' '; -} - -void trimA(char *str) { - int len = (int)strlen(str), pos; - // trim whitespace (e.g. from OTR detection) - for(pos = len - 1; pos >= 0; pos--) { - if(str[pos] == ' ' || str[pos] == '\t' || str[pos] == '\r' || str[pos] == '\n') str[pos] = 0; - else break; - } - - // remove tabs - for(pos = len - 1; pos >= 0; pos--) - if(str[pos] == '\t') str[pos] = ' '; -} -- cgit v1.2.3