int DeleteAutoSession(int ses_count) { int i=0; HANDLE hContact; char szSessionName[256]={0}; TCHAR *szSessionNameBuf=NULL; for (hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { RemoveSessionMark(hContact,0,ses_count); SetInSessionOrder(hContact,0,ses_count,0); } mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", ses_count); db_unset(NULL, MODNAME, szSessionName); for (i=(ses_count+1);;i++) { mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", i); if (szSessionNameBuf = db_get_tsa(NULL, MODNAME, szSessionName)) { mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", i-1); db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf); mir_free(szSessionNameBuf); } else { mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", i-1); db_unset(NULL, MODNAME, szSessionName); break; } } return 0; }
int DeleteAutoSession(int ses_count) { for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { RemoveSessionMark(hContact, 0, ses_count); SetInSessionOrder(hContact, 0, ses_count, 0); } char szSessionName[256]; mir_snprintf(szSessionName, "%s_%u", "SessionDate", ses_count); db_unset(NULL, MODNAME, szSessionName); for (int i = ses_count + 1;; i++) { mir_snprintf(szSessionName, "%s_%u", "SessionDate", i); ptrT szSessionNameBuf(db_get_tsa(NULL, MODNAME, szSessionName)); mir_snprintf(szSessionName, "%s_%u", "SessionDate", i - 1); if (szSessionNameBuf) db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf); else { db_unset(NULL, MODNAME, szSessionName); break; } } return 0; }
int DelUserDefSession(int ses_count) { for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { RemoveSessionMark(hContact, 1, ses_count); SetInSessionOrder(hContact, 1, ses_count, 0); } char szSessionName[256]; mir_snprintf(szSessionName, "%s_%u", "UserSessionDsc", ses_count); db_unset(NULL, MODNAME, szSessionName); mir_snprintf(szSessionName, "%s_%u", "FavUserSession", ses_count); db_unset(NULL, MODNAME, szSessionName); for (int i = ses_count + 1;; i++) { mir_snprintf(szSessionName, "%s_%u", "UserSessionDsc", i); ptrT szSessionNameBuf(db_get_tsa(NULL, MODNAME, szSessionName)); mir_snprintf(szSessionName, "%s_%u", "UserSessionDsc", i - 1); if (szSessionNameBuf) { MarkUserDefSession(i - 1, IsMarkedUserDefSession(i)); db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf); } else { db_unset(NULL, MODNAME, szSessionName); mir_snprintf(szSessionName, "%s_%u", "FavUserSession", i - 1); db_unset(NULL, MODNAME, szSessionName); break; } } g_ses_count--; db_set_b(0, MODNAME, "UserSessionsCount", (BYTE)g_ses_count); return 0; }
int DelUserDefSession(int ses_count) { int i=0; HANDLE hContact; char szSessionName[256]={0}; TCHAR *szSessionNameBuf=NULL; for (hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { RemoveSessionMark(hContact,1,ses_count); SetInSessionOrder(hContact,1,ses_count,0); } mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "UserSessionDsc", ses_count); db_unset(NULL, MODNAME, szSessionName); mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "FavUserSession", ses_count); db_unset(NULL, MODNAME, szSessionName); for (i=(ses_count+1);;i++) { mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "UserSessionDsc", i); if (szSessionNameBuf = db_get_tsa(NULL, MODNAME, szSessionName)) { MarkUserDefSession(i-1,IsMarkedUserDefSession(i)); mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "UserSessionDsc", i-1); db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf); mir_free(szSessionNameBuf); } else { mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "UserSessionDsc", i-1); db_unset(NULL, MODNAME, szSessionName); mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "FavUserSession", i-1); db_unset(NULL, MODNAME, szSessionName); break; } } g_ses_count--; db_set_b(0, MODNAME, "UserSessionsCount", (BYTE)g_ses_count); return 0; }