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 --- src/core/stdchat/src/clist.cpp | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'src/core/stdchat') diff --git a/src/core/stdchat/src/clist.cpp b/src/core/stdchat/src/clist.cpp index 31e47b1f6a..63a4a5687a 100644 --- a/src/core/stdchat/src/clist.cpp +++ b/src/core/stdchat/src/clist.cpp @@ -99,21 +99,16 @@ BOOL CList_SetOffline(HANDLE hContact, BOOL bHide) BOOL CList_SetAllOffline(BOOL bHide, const char *pszModule) { - HANDLE hContact; - char* szProto; - - hContact = db_find_first(); - while ( hContact ) { - szProto = GetContactProto(hContact); + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { + char *szProto = GetContactProto(hContact); if ( MM_FindModule( szProto )) { if ( !pszModule || ( pszModule && !strcmp( pszModule, szProto ))) { int i = db_get_b(hContact, szProto, "ChatRoom", 0); if ( i != 0 ) { db_set_w(hContact, szProto,"ApparentMode",(LPARAM)(WORD) 0); db_set_w(hContact, szProto, "Status", ID_STATUS_OFFLINE); - } } } - hContact = db_find_next(hContact); - } + } } } } + return TRUE; } @@ -288,8 +283,7 @@ BOOL CList_AddEvent(HANDLE hContact, HICON hIcon, HANDLE hEvent, int type, TCHAR HANDLE CList_FindRoom ( const char* pszModule, const TCHAR* pszRoom) { - HANDLE hContact = db_find_first(); - while (hContact) { + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { char *szProto = GetContactProto(hContact); if ( szProto && !lstrcmpiA( szProto, pszModule )) { if ( db_get_b( hContact, szProto, "ChatRoom", 0) != 0 ) { @@ -300,10 +294,8 @@ HANDLE CList_FindRoom ( const char* pszModule, const TCHAR* pszRoom) return hContact; } db_free(&dbv); - } } } + } } } } - hContact = db_find_next(hContact); - } return 0; } -- cgit v1.2.3