[srvx-commits] CVS: services/src gline.c,1.6.2.4,1.6.2.5
Brought to you by:
entrope
From: Entrope <en...@us...> - 2001-08-15 13:05:49
|
Update of /cvsroot/srvx/services/src In directory usw-pr-cvs1:/tmp/cvs-serv1101/src Modified Files: Tag: rel-1_0 gline.c Log Message: only extend gline durations with gline_add (compliant with ircu behavior) when free()'ing a gline, remove it from the gline_dict Index: gline.c =================================================================== RCS file: /cvsroot/srvx/services/src/gline.c,v retrieving revision 1.6.2.4 retrieving revision 1.6.2.5 diff -C2 -r1.6.2.4 -r1.6.2.5 *** gline.c 2001/08/14 15:31:38 1.6.2.4 --- gline.c 2001/08/15 13:05:46 1.6.2.5 *************** *** 60,63 **** --- 60,64 ---- free_gline(struct gline *ent) { + dict_remove(gline_dict, ent->target); free(ent->target); free(ent->reason); *************** *** 138,142 **** if (ent) { heap_remove_pred(gline_heap, gline_for_p, (char*)target); ! ent->expires = now + duration; } else { ent = malloc(sizeof(*ent)); --- 139,143 ---- if (ent) { heap_remove_pred(gline_heap, gline_for_p, (char*)target); ! if (ent->expires < (now + duration)) ent->expires = now + duration; } else { ent = malloc(sizeof(*ent)); |