#include <string.h>
#include <ctype.h>
-#include "../lib/sstring.h"
-#include "../lib/irc_string.h"
-#include "../channel/channel.h"
-#include "../localuser/localuserchannel.h"
-#include "../core/schedule.h"
-#include "../nick/nick.h"
-
-
#include "hchannel.h"
#include "haccount.h"
#include "helpmod.h"
while (hchan->htickets)
hticket_del(hchan->htickets, hchan);
- localpartchannel(helpmodnick, hchan->real_channel);
+ localpartchannel(helpmodnick, hchan->real_channel, "Channel Removed");
free(hchan);
huser_on_channel((*hchanuser)->husr, hchan)->flags |= H_IDLE_WARNING;
}
}
- hcommit_modes();
+ /*hcommit_modes();*/
hchanuser = &(*hchanuser)->next;
- }
+ }
+ hcommit_modes();
}
/* Additionally, test if the channel has queue but no idle opers / staff */
if (hchan->flags & H_QUEUE && hchan->flags & H_QUEUE_TIMEOUT)
{
hchannel_user *tmp;
for (tmp = hchan->channel_users;tmp;tmp = tmp->next)
- if (huser_get_level(tmp->husr) > H_PEON)
+ if (huser_get_level(tmp->husr) >= H_TRIAL)
{
huser_channel *huserchan = huser_on_channel(tmp->husr, hchan);
if ((time(NULL) - huserchan->last_activity < HELPMOD_QUEUE_TIMEOUT) && (huserchan->last_activity != tmp->time_joined))
/*if (on_queue(husr, huserchan) || on_desk(husr, huserchan))*/
if (huserchan != NULL)
{
- hchannel_user *tmp, **hchanuser = &hchan->channel_users;
+ hchannel_user *tmp = NULL, **hchanuser = &hchan->channel_users;
for (;*hchanuser;hchanuser = &(*hchanuser)->next)
if ((*hchanuser)->husr == husr)
{
break;
}
*hchanuser = tmp;
+ assert(*hchanuser != NULL);
(*hchanuser)->next = NULL;
if (on_desk(husr, huserchan))
{
int hchannel_highlight_detection(hchannel *hchan, const char *message)
{
char buffer[512], *buffer_ptr = buffer, *ptr = buffer;
- int i = 0, matches = 0;
+ int i, matches = 0;
strcpy(buffer, message);
+ /* remove commas */
+ for (i=0;i<512 && buffer[i] != '\0';i++)
+ if (buffer[i] == ',')
+ buffer[i] = ' ';
+
+ /* reset i for loop */
+ i = 0;
do
{
nick *tmp;
if (i++ > 6)
break;
- while (*buffer_ptr && isspace(*buffer))
+ while (*buffer_ptr && isspace(*buffer_ptr))
buffer_ptr++;
+ if (*buffer_ptr == '@')
+ buffer_ptr++;
+
if (*buffer_ptr)
{
ptr = strchr(buffer_ptr, ' ');