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/CmdLine/src/utils.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'plugins/CmdLine/src/utils.cpp') diff --git a/plugins/CmdLine/src/utils.cpp b/plugins/CmdLine/src/utils.cpp index 626141e68f..1dddb04310 100644 --- a/plugins/CmdLine/src/utils.cpp +++ b/plugins/CmdLine/src/utils.cpp @@ -337,32 +337,27 @@ TCHAR *GetContactID(HANDLE hContact, char *szProto) #pragma warning (disable: 4312) HANDLE GetContactFromID(TCHAR *szID, char *szProto) { - HANDLE hContact = db_find_first(); - TCHAR *szHandle; TCHAR dispName[1024]; char cProtocol[256]; char *tmp; int found = 0; - while (hContact) - { + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { GetContactProto(hContact, cProtocol, sizeof(cProtocol)); - szHandle = GetContactID(hContact, cProtocol); + TCHAR *szHandle = GetContactID(hContact, cProtocol); tmp = (char *) CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM) hContact, 0); STRNCPY(dispName, tmp, sizeof(dispName)); if ((szHandle) && ((_tcsicmp(szHandle, szID) == 0) || (_tcsicmp(dispName, szID) == 0)) && ((szProto == NULL) || (_stricmp(szProto, cProtocol) == 0))) - { found = 1; - } - if (szHandle) { free(szHandle); } + + if (szHandle) free(szHandle); - if (found) { break; } - hContact = db_find_next(hContact); + if (found) return hContact; } - return hContact; + return NULL; } #pragma warning (default: 4312) -- cgit v1.2.3