]>
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
)
31 hcensor
*hcensor_check(hcensor
*hcens
, const char *str
)
33 for (;hcens
;hcens
= hcens
->next
)
34 if (strregexp(str
, hcens
->pattern
->content
))
39 hcensor
*hcensor_add(hcensor
**hcens
, const char *pat
, const char *rsn
)
43 if (hcensor_get_by_pattern(*hcens
, pat
))
46 tmp
= malloc(sizeof(hcensor
));
49 tmp
->pattern
= getsstring(pat
, strlen(pat
));
51 tmp
->reason
= getsstring(rsn
, strlen(rsn
));
60 hcensor
*hcensor_del(hcensor
**hcens
, hcensor
*ptr
)
62 for (;*hcens
;hcens
= &(*hcens
)->next
)
65 hcensor
*tmp
= (*hcens
)->next
;
66 freesstring((*hcens
)->pattern
);
67 freesstring((*hcens
)->reason
);
75 void hcensor_del_all(hcensor
**hcens
)
78 hcensor_del(hcens
, *hcens
);
81 int hcensor_count(hcensor
*hcens
)
84 for (;hcens
;hcens
= hcens
->next
, count
++);