summaryrefslogtreecommitdiff
path: root/plugins/SeenPlugin
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/SeenPlugin')
-rw-r--r--plugins/SeenPlugin/src/missed.cpp17
-rw-r--r--plugins/SeenPlugin/src/utils.cpp28
2 files changed, 19 insertions, 26 deletions
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);