From a63798c1b60eeb77352323ad4545630cdc5458f2 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Thu, 19 Jul 2012 07:47:08 +0000 Subject: Folders: changed folder structure git-svn-id: http://svn.miranda-ng.org/main/trunk@1032 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Folders/utils.cpp | 357 ---------------------------------------------- 1 file changed, 357 deletions(-) delete mode 100644 plugins/Folders/utils.cpp (limited to 'plugins/Folders/utils.cpp') diff --git a/plugins/Folders/utils.cpp b/plugins/Folders/utils.cpp deleted file mode 100644 index 64623b63f1..0000000000 --- a/plugins/Folders/utils.cpp +++ /dev/null @@ -1,357 +0,0 @@ -/* -Custom profile folders plugin for Miranda IM - -Copyright © 2005 Cristian Libotean - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#include "utils.h" - -int Log(char *format, ...) -{ -#ifdef _DEBUG - char str[4096]; - va_list vararg; - int tBytes; - FILE *fout = fopen("folders.log", "at"); - - va_start(vararg, format); - - tBytes = _vsnprintf(str, sizeof(str), format, vararg); - if (tBytes > 0) - { - str[tBytes] = 0; - } - - va_end(vararg); - if (str[strlen(str) - 1] != '\n') - { - strcat(str, "\n"); - } - fputs(str, fout); - fclose(fout); -#endif - return 0; -} - -char *StrCopy(char *source, size_t index, const char *what, size_t count) -{ - size_t i; - for (i = 0; i < count; i++) - { - source[index + i] = what[i]; - } - return source; -} - -wchar_t *StrCopy(wchar_t *source, size_t index, const wchar_t *what, size_t count) -{ - size_t i; - for (i = 0; i < count; i++) - { - source[index + i] = what[i]; - } - return source; -} - -char *StrDelete(char *source, size_t index, size_t count) -{ - size_t len = strlen(source); - size_t i; - count = (count + index > len) ? len - index : count; - for (i = index; i + count <= len; i++) - { - source[i] = source[i + count]; - } - return source; -} - -wchar_t *StrDelete(wchar_t *source, size_t index, size_t count) -{ - size_t len = wcslen(source); - size_t i; - count = (count + index > len) ? len - index : count; - for (i = index; i + count <= len; i++) - { - source[i] = source[i + count]; - } - return source; -} - - -char *StrInsert(char *source, size_t index, const char *what) -{ - size_t whatLen = strlen(what); - size_t sourceLen = strlen(source); - size_t i; - for (i = sourceLen; i >= index; i--) - { - source[i + whatLen] = source[i]; - } - for (i = 0; i < whatLen; i++) - { - source[index + i] = what[i]; - } - return source; -} - -wchar_t *StrInsert(wchar_t *source, size_t index, const wchar_t *what) -{ - size_t whatLen = wcslen(what); - size_t sourceLen = wcslen(source); - size_t i; - for (i = sourceLen; i >= index; i--) - { - source[i + whatLen] = source[i]; - } - for (i = 0; i < whatLen; i++) - { - source[index + i] = what[i]; - } - return source; -} - - -char *StrReplace(char *source, const char *what, const char *withWhat) -{ - char *pos; - size_t whatLen = strlen(what); - size_t withWhatLen = strlen(withWhat); - size_t minLen; - size_t index; - - while ((pos = strstr(source, what))) - { - minLen = min(whatLen, withWhatLen); - StrCopy(source, pos - source, withWhat, minLen); - index = pos - source + minLen; - if (whatLen > withWhatLen) - { - StrDelete(source, index, whatLen - withWhatLen); - } - else{ - if (whatLen < withWhatLen) - { - StrInsert(source, index, withWhat + minLen); - } - } - } - return source; -} - -wchar_t *StrReplace(wchar_t *source, const wchar_t *what, const wchar_t *withWhat) -{ - wchar_t *pos; - size_t whatLen = wcslen(what); - size_t withWhatLen = wcslen(withWhat); - size_t minLen; - size_t index; - - while ((pos = wcsstr(source, what))) - { - minLen = min(whatLen, withWhatLen); - StrCopy(source, pos - source, withWhat, minLen); - index = pos - source + minLen; - if (whatLen > withWhatLen) - { - StrDelete(source, index, whatLen - withWhatLen); - } - else{ - if (whatLen < withWhatLen) - { - StrInsert(source, index, withWhat + minLen); - } - } - } - return source; -} - -char *StrTrim(char *szText, const char *szTrimChars) -{ - size_t i = strlen(szText) - 1; - while ((i >= 0) && (strchr(szTrimChars, szText[i]))) - { - szText[i--] = '\0'; - } - i = 0; - while ((i < strlen(szText)) && (strchr(szTrimChars, szText[i]))) - { - i++; - } - if (i) - { - StrDelete(szText, 0, i); - } - return szText; -} - -wchar_t *StrTrim(wchar_t *szText, const wchar_t *szTrimChars) -{ - size_t i = wcslen(szText) - 1; - while ((i >= 0) && (wcschr(szTrimChars, szText[i]))) - { - szText[i--] = '\0'; - } - i = 0; - while ((i < wcslen(szText)) && (wcschr(szTrimChars, szText[i]))) - { - i++; - } - if (i) - { - StrDelete(szText, 0, i); - } - return szText; -} - -void CreateDirectories(char *path) -{ - char *pos = path; - char tmp; - while (pos = strchr(pos, '\\')) - { - tmp = pos[0]; - pos[0] = '\0'; - CreateDirectoryA(path, NULL); - pos[0] = tmp; - pos++; - } - CreateDirectoryA(path, NULL); - GetLastError(); -} - -void CreateDirectories(wchar_t *path) -{ - wchar_t *pos = path; - wchar_t tmp; - while (pos = wcschr(pos, '\\')) - { - tmp = pos[0]; - pos[0] = '\0'; - CreateDirectoryW(path, NULL); - pos[0] = tmp; - pos++; - } - CreateDirectoryW(path, NULL); - GetLastError(); -} - -void RemoveDirectories(char *path) -{ - char *pos; - char *buffer = _strdup(path); - if (!(GetFileAttributesA(buffer) & FILE_ATTRIBUTE_REPARSE_POINT)) { RemoveDirectoryA(buffer); } - while (pos = strrchr(buffer, '\\')) - { - pos[0] = '\0'; - if (!(GetFileAttributesA(buffer) & FILE_ATTRIBUTE_REPARSE_POINT)) { RemoveDirectoryA(buffer); } - } - free(buffer); -} - -void RemoveDirectories(wchar_t *path) -{ - wchar_t *pos; - wchar_t *buffer = _wcsdup(path); - if (!(GetFileAttributesW(buffer) & FILE_ATTRIBUTE_REPARSE_POINT)) { RemoveDirectoryW(buffer); } - while (pos = wcsrchr(buffer, '\\')) - { - pos[0] = '\0'; - if (!(GetFileAttributesW(buffer) & FILE_ATTRIBUTE_REPARSE_POINT)) { RemoveDirectoryW(buffer); } - } - free(buffer); -} - -int DirectoryExists(char *path) -{ - char buffer[4096]; - GetCurrentDirectoryA(sizeof(buffer), buffer); - int res = SetCurrentDirectoryA(path); - SetCurrentDirectoryA(buffer); - return res; -} - -int DirectoryExists(wchar_t *path) -{ - wchar_t buffer[4096]; - GetCurrentDirectoryW(sizeof(buffer), buffer); - int res = SetCurrentDirectoryW(path); - SetCurrentDirectoryW(buffer); - return res; -} - - -int GetStringFromDatabase(char *szSettingName, const char *szError, char *szResult, size_t size) -{ - DBVARIANT dbv = {0}; - int res = 1; - size_t len; - dbv.type = DBVT_ASCIIZ; - if (DBGetContactSetting(NULL, ModuleName, szSettingName, &dbv) == 0) - { - res = 0; - size_t tmp = strlen(dbv.pszVal); - len = (tmp < size - 1) ? tmp : size - 1; - strncpy(szResult, dbv.pszVal, len); - szResult[len] = '\0'; - mir_free(dbv.pszVal); - } - else{ - res = 1; - size_t tmp = strlen(szError); - len = (tmp < size - 1) ? tmp : size - 1; - strncpy(szResult, szError, len); - szResult[len] = '\0'; - } - return res; -} - -int GetStringFromDatabase(char *szSettingName, const wchar_t *szError, wchar_t *szResult, size_t size) -{ - DBVARIANT dbv = {0}; - int res = 1; - size_t len; - dbv.type = DBVT_WCHAR; - if (DBGetContactSettingWString(NULL, ModuleName, szSettingName, &dbv) == 0) - //if (DBGetContactSetting(NULL, ModuleName, szSettingName, &dbv) == 0) - { - res = 0; - size_t tmp = wcslen(dbv.pwszVal); - len = (tmp < size - 1) ? tmp : size - 1; - wcsncpy(szResult, dbv.pwszVal, len); - szResult[len] = '\0'; - mir_free(dbv.pwszVal); - } - else{ - res = 1; - size_t tmp = wcslen(szError); - len = (tmp < size - 1) ? tmp : size - 1; - wcsncpy(szResult, szError, len); - szResult[len] = '\0'; - } - return res; -} - - -int WriteStringToDatabase(char *szSettingName, const char *szValue) -{ - return DBWriteContactSettingString(NULL, ModuleName, szSettingName, szValue); -} - -int WriteStringToDatabase(char *szSettingName, const wchar_t *szValue) -{ - return DBWriteContactSettingWString(NULL, ModuleName, szSettingName, szValue); -} \ No newline at end of file -- cgit v1.2.3