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/BuddyExpectator/src/BuddyExpectator.cpp | 15 ++++----------- plugins/BuddyExpectator/src/options.cpp | 6 +----- 2 files changed, 5 insertions(+), 16 deletions(-) (limited to 'plugins/BuddyExpectator/src') diff --git a/plugins/BuddyExpectator/src/BuddyExpectator.cpp b/plugins/BuddyExpectator/src/BuddyExpectator.cpp index 54864b2e89..8ea3387b04 100644 --- a/plugins/BuddyExpectator/src/BuddyExpectator.cpp +++ b/plugins/BuddyExpectator/src/BuddyExpectator.cpp @@ -565,11 +565,8 @@ int SettingChanged(WPARAM wParam, LPARAM lParam) void CALLBACK TimerProc(HWND, UINT, UINT_PTR, DWORD) { - HANDLE hContact = db_find_first(); - char *proto; - while (hContact != 0) - { - proto = GetContactProto(hContact); + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { + char *proto = GetContactProto(hContact); if (proto && (db_get_b(hContact, proto, "ChatRoom", 0) == 0) && (CallProtoService(proto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_IMSEND) && isContactGoneFor(hContact, options.iAbsencePeriod2) && (db_get_b(hContact, MODULE_NAME, "StillAbsentNotified", 0) == 0)) { db_set_b(hContact, MODULE_NAME, "StillAbsentNotified", 1); @@ -596,8 +593,6 @@ void CALLBACK TimerProc(HWND, UINT, UINT_PTR, DWORD) GoneNotify(hContact, message); } - - hContact = db_find_next(hContact); } } /** @@ -712,15 +707,13 @@ extern "C" int __declspec(dllexport) Load(void) // ensure all contacts are timestamped DBVARIANT dbv; - HANDLE hContact = db_find_first(); DWORD current_time = (DWORD)time(0); - while (hContact != 0) { + + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { if ( !db_get(hContact, MODULE_NAME, "CreationTime", &dbv)) db_free(&dbv); else db_set_dw(hContact, MODULE_NAME, "CreationTime", current_time); - - hContact = db_find_next(hContact); } return 0; diff --git a/plugins/BuddyExpectator/src/options.cpp b/plugins/BuddyExpectator/src/options.cpp index 3cd321b1d7..18fe4fb056 100644 --- a/plugins/BuddyExpectator/src/options.cpp +++ b/plugins/BuddyExpectator/src/options.cpp @@ -247,14 +247,10 @@ static INT_PTR CALLBACK OptionsFrameProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, SaveOptions(); // clear all notified settings - HANDLE hContact = db_find_first(); - while (hContact != 0) { + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) if(db_get_b(hContact, MODULE_NAME, "StillAbsentNotified", 0)) db_set_b(hContact, MODULE_NAME, "StillAbsentNotified", 0); - hContact = db_find_next(hContact); - } - // restart timer & run check KillTimer(0, timer_id); timer_id = SetTimer(0, 0, 1000 * 60 * 60 * 4, TimerProc); // check every 4 hours -- cgit v1.2.3