From bcb27264ba737778e5d3edad36088bacf74f0236 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 9 Apr 2013 20:03:46 +0000 Subject: - short function names allows to write database loops in one string; - 'continue' operator can be used then; - multiple bugs fixed in clists; - code becomes much more compact; git-svn-id: http://svn.miranda-ng.org/main/trunk@4403 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/SeenPlugin/src/missed.cpp | 17 +++++------------ plugins/SeenPlugin/src/utils.cpp | 28 ++++++++++++++-------------- 2 files changed, 19 insertions(+), 26 deletions(-) (limited to 'plugins/SeenPlugin/src') diff --git a/plugins/SeenPlugin/src/missed.cpp b/plugins/SeenPlugin/src/missed.cpp index 9098d3d0e1..4b7d4bcf44 100644 --- a/plugins/SeenPlugin/src/missed.cpp +++ b/plugins/SeenPlugin/src/missed.cpp @@ -42,11 +42,8 @@ int RemoveUser(int pos) int ResetMissed(void) { - HANDLE hcontact = db_find_first(); - while (hcontact != NULL) { - db_set_b(hcontact, S_MOD, "Missed", 0); - hcontact = db_find_next(hcontact); - } + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) + db_set_b(hContact, S_MOD, "Missed", 0); ZeroMemory(&mcs,sizeof(mcs)); return 0; @@ -54,13 +51,9 @@ int ResetMissed(void) int CheckIfOnline(void) { - HANDLE hcontact = db_find_first(); - while (hcontact != NULL) { - if ( CallService(MS_CLIST_GETCONTACTICON, (WPARAM)hcontact, 0) != ICON_OFFLINE) - db_set_b(hcontact, S_MOD, "Missed", 2); - - hcontact = db_find_next(hcontact); - } + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) + if ( CallService(MS_CLIST_GETCONTACTICON, (WPARAM)hContact, 0) != ICON_OFFLINE) + db_set_b(hContact, S_MOD, "Missed", 2); return 0; } diff --git a/plugins/SeenPlugin/src/utils.cpp b/plugins/SeenPlugin/src/utils.cpp index a7948c6baa..41c4271955 100644 --- a/plugins/SeenPlugin/src/utils.cpp +++ b/plugins/SeenPlugin/src/utils.cpp @@ -656,22 +656,22 @@ static void cleanThread(void *param) // I hope in 10 secons all logged-in contacts will be listed if ( WaitForSingleObject(g_hShutdownEvent, 10000) == WAIT_TIMEOUT) { - HANDLE hcontact = db_find_first(); - while(hcontact != NULL) { - char *contactProto = GetContactProto(hcontact); - if (contactProto) { - if ( !strncmp(infoParam->sProtoName, contactProto, MAXMODULELABELLENGTH)) { - WORD oldStatus = db_get_w(hcontact,S_MOD,"StatusTriger",ID_STATUS_OFFLINE) | 0x8000; - if (oldStatus > ID_STATUS_OFFLINE) { - if (db_get_w(hcontact,contactProto,"Status",ID_STATUS_OFFLINE)==ID_STATUS_OFFLINE){ - db_set_w(hcontact,S_MOD,"OldStatus",(WORD)(oldStatus|0x8000)); - if (includeIdle)db_set_b(hcontact,S_MOD,"OldIdle",(BYTE)((oldStatus&0x8000)?0:1)); - db_set_w(hcontact,S_MOD,"StatusTriger",ID_STATUS_OFFLINE); - } - } + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { + char *contactProto = GetContactProto(hContact); + if (!contactProto) + continue; + + if ( strncmp(infoParam->sProtoName, contactProto, MAXMODULELABELLENGTH)) + continue; + + WORD oldStatus = db_get_w(hContact,S_MOD,"StatusTriger",ID_STATUS_OFFLINE) | 0x8000; + if (oldStatus > ID_STATUS_OFFLINE) { + if (db_get_w(hContact,contactProto,"Status",ID_STATUS_OFFLINE)==ID_STATUS_OFFLINE){ + db_set_w(hContact,S_MOD,"OldStatus",(WORD)(oldStatus|0x8000)); + if (includeIdle)db_set_b(hContact,S_MOD,"OldIdle",(BYTE)((oldStatus&0x8000)?0:1)); + db_set_w(hContact,S_MOD,"StatusTriger",ID_STATUS_OFFLINE); } } - hcontact = db_find_next(hcontact); } char *str = (char *)malloc(MAXMODULELABELLENGTH+9); -- cgit v1.2.3