X-Git-Url: https://git.distorted.org.uk/~mdw/fwd/blobdiff_plain/f9d40245f5a776b34e0f0dcc2aad164e3b3d02af..372a98e2893234a482e59ca32313db1bb86146d7:/socket.c diff --git a/socket.c b/socket.c index afa3dc0..0a80b48 100644 --- a/socket.c +++ b/socket.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: socket.c,v 1.5 2000/03/23 23:20:42 mdw Exp $ + * $Id: socket.c,v 1.6 2001/02/03 20:30:03 mdw Exp $ * * Socket source and target definitions * @@ -29,6 +29,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: socket.c,v $ + * Revision 1.6 2001/02/03 20:30:03 mdw + * Support re-reading config files on SIGHUP. + * * Revision 1.5 2000/03/23 23:20:42 mdw * Remove listener even if connection option isn't SOCKOPT_LIMITED. * @@ -123,7 +126,7 @@ typedef struct starget { typedef struct stept { endpt e; conn c; - const char *desc; + char *desc; } stept; /* --- Socket source endpoint --- */ @@ -254,6 +257,7 @@ static void stept_close(endpt *e) REFFD_DEC(ee->e.out); } + free(ee->desc); fw_dec(); DESTROY(ee); } @@ -636,7 +640,7 @@ static void ssource_destroy(source *s) ss->a->ops->freeopts(ss->ao); else DESTROY(ss->ao); - /* free(ss->s.desc); */ + free(ss->s.desc); ss->a->ops->destroy(ss->a); ss->t->ops->destroy(ss->t); source_remove(&ss->s); @@ -697,7 +701,7 @@ static endpt *starget_create(target *t, const char *desc) e->e.other = 0; e->e.f = EPF_FILE | SKF_CONN; e->e.t = 0; - e->desc = desc; + e->desc = xstrdup(desc); /* --- Pay attention --- * * @@ -729,7 +733,7 @@ static void starget_destroy(target *t) { starget *st = (starget *)t; st->a->ops->destroy(st->a); - /* free(st->t.desc); */ + free(st->t.desc); DESTROY(st); }