From: pk910 Date: Tue, 8 Nov 2011 14:31:35 +0000 (+0100) Subject: fixed cmd_unvisited X-Git-Tag: v5.3~191 X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=commitdiff_plain;h=6a42cba1485ad2116fed79ad68223141fdc9f13d fixed cmd_unvisited --- diff --git a/src/cmd_neonserv_unvisited.c b/src/cmd_neonserv_unvisited.c index bdb9879..3312c52 100644 --- a/src/cmd_neonserv_unvisited.c +++ b/src/cmd_neonserv_unvisited.c @@ -43,7 +43,7 @@ CMD_BIND(neonserv_cmd_unvisited) { cache->textclient = getTextBot(); cache->user = user; cache->duration = duration; - cache->who_count = 0; + cache->who_count = 1; /* small fake to prevent the cache to be freed too early */ cache->matches = 0; printf_mysql_query("SELECT `channel_id`, `channel_name`, `channel_nodelete` FROM `bot_channels` LEFT JOIN `channels` ON `chanid` = `channel_id` LEFT JOIN `users` ON `channel_registrator` = `user_id` WHERE `botid` = '%d'", client->botid); res = mysql_use(); @@ -51,7 +51,7 @@ CMD_BIND(neonserv_cmd_unvisited) { if(!strcmp(row[2], "1")) continue; printf_mysql_query("SELECT `chanuser_seen` FROM `chanusers` WHERE `chanuser_cid` = '%s' AND `chanuser_access` >= 300 ORDER BY `chanuser_seen` DESC LIMIT 1", row[0]); res2 = mysql_use(); - row2 = mysql_fetch_row(res); + row2 = mysql_fetch_row(res2); if(row2 && atol(row2[0]) > (time(0) - duration)) continue; channel = getChanByName(row[1]); if(channel) { @@ -63,6 +63,7 @@ CMD_BIND(neonserv_cmd_unvisited) { cache->matches++; } } + cache->who_count--; //see fix on line 46 if(cache->who_count == 0) { neonserv_cmd_unvisited_async2(cache); }