/* Sessions Management plugin for Miranda IM Copyright (C) 2007-2008 Danil Mozhar 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 3 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, see . */ #include "sessions.h" void AddSessionMark(HANDLE hContact, int mode, char bit) { DBVARIANT dbv; unsigned int i; char temp_1[1]={'\0'},temp_2[1]={'\0'}; char szDst[256]={'\0'}; char* pszBuffer=NULL; if (mode == 0) { if (!db_get_s(hContact, MODNAME, "LastSessionsMarks", &dbv) && dbv.pszVal) { temp_1[0]=dbv.pszVal[0]; for (i=0; i < ses_limit; i++) { temp_2[0]=dbv.pszVal[i+1]; dbv.pszVal[i+1]=temp_1[0]; temp_1[0]=temp_2[0]; } for (i=ses_limit; i < 10; i++) dbv.pszVal[i]='0'; dbv.pszVal[0]=bit; db_set_s(hContact, MODNAME, "LastSessionsMarks", dbv.pszVal); db_free(&dbv); } else if (bit == '1') db_set_s(hContact, MODNAME, "LastSessionsMarks", "10000000000"); } else if (mode == 1) { if (!db_get_s(hContact, MODNAME, "UserSessionsMarks", &dbv) && dbv.pszVal) { if (strlen(dbv.pszVal)