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/ListeningTo/src/listeningto.cpp | 5 +---- plugins/ListeningTo/src/players/mradio.cpp | 29 ++++++----------------------- 2 files changed, 7 insertions(+), 27 deletions(-) (limited to 'plugins/ListeningTo') diff --git a/plugins/ListeningTo/src/listeningto.cpp b/plugins/ListeningTo/src/listeningto.cpp index 62ecd7c48e..2f9933ca82 100644 --- a/plugins/ListeningTo/src/listeningto.cpp +++ b/plugins/ListeningTo/src/listeningto.cpp @@ -300,8 +300,7 @@ int ModulesLoaded(WPARAM wParam, LPARAM lParam) // Extra icon support hExtraIcon = ExtraIcon_Register(MODULE_NAME, LPGEN("Listening to music"), "listening_to_icon"); - HANDLE hContact = db_find_first(); - while (hContact != NULL) { + for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { char *proto = GetContactProto(hContact); if (proto != NULL) { DBVARIANT dbv; @@ -312,8 +311,6 @@ int ModulesLoaded(WPARAM wParam, LPARAM lParam) db_free(&dbv); } } - - hContact = db_find_next(hContact); } // Add main menu item diff --git a/plugins/ListeningTo/src/players/mradio.cpp b/plugins/ListeningTo/src/players/mradio.cpp index d9f81fecb8..d8e23508a3 100644 --- a/plugins/ListeningTo/src/players/mradio.cpp +++ b/plugins/ListeningTo/src/players/mradio.cpp @@ -34,30 +34,13 @@ void MRadio::EnableDisable() int MRadio::GetData() { - HANDLE hContact; + for (HANDLE hContact = db_find_first("mRadio"); hContact; hContact = db_find_next(hContact, "mRadio")) { + WORD status = db_get_w(hContact, "mRadio", "Status", ID_STATUS_OFFLINE); + if (status != ID_STATUS_ONLINE) + continue; - hContact = db_find_first(); - while (hContact != NULL) - { - char *proto = GetContactProto(hContact); - if (proto) - { - if (strcmp("mRadio", proto) == 0) - { - WORD status = db_get_w(hContact, proto, "Status", ID_STATUS_OFFLINE); - if (status == ID_STATUS_ONLINE) - break; - } - } - - hContact = db_find_next(hContact); - } - - if (hContact) - { - DBVARIANT dbv = {0}; - if (!db_get_s(hContact, "mRadio", "Nick", &dbv)) - { + DBVARIANT dbv; + if (!db_get_s(hContact, "mRadio", "Nick", &dbv)) { listening_info.cbSize = sizeof(listening_info); listening_info.dwFlags = LTI_TCHAR; listening_info.ptszArtist = mir_tstrdup(_T("Radio")); -- cgit v1.2.3