]>
jfr.im git - irc/quakenet/newserv.git/blob - helpmod2/hcensor.c
2 #include <stdio.h> /* for debug */
9 hcensor
*hcensor_get_by_pattern(hcensor
*hcens
, const char *pat
)
11 for (;hcens
;hcens
= hcens
->next
)
12 if (!ci_strcmp(pat
, hcens
->pattern
->content
))
17 hcensor
*hcensor_get_by_index(hcensor
*hcens
, int index
)
19 if (index
> 512) /* some sanity */
22 while (index
&& hcens
)
28 hcensor
*hcensor_check(hcensor
*hcens
, const char *str
)
30 for (;hcens
;hcens
= hcens
->next
)
31 if (strregexp(str
, hcens
->pattern
->content
))
36 hcensor
*hcensor_add(hcensor
**hcens
, const char *pat
, const char *rsn
)
40 if (hcensor_get_by_pattern(*hcens
, pat
))
43 tmp
= malloc(sizeof(hcensor
));
46 tmp
->pattern
= getsstring(pat
, strlen(pat
));
48 tmp
->reason
= getsstring(rsn
, strlen(rsn
));
57 hcensor
*hcensor_del(hcensor
**hcens
, hcensor
*ptr
)
59 for (;*hcens
;hcens
= &(*hcens
)->next
)
62 hcensor
*tmp
= (*hcens
)->next
;
63 freesstring((*hcens
)->pattern
);
64 freesstring((*hcens
)->reason
);
72 void hcensor_del_all(hcensor
**hcens
)
75 hcensor_del(hcens
, *hcens
);
78 int hcensor_count(hcensor
*hcens
)
81 for (;hcens
;hcens
= hcens
->next
, count
++);