From 6b280803f0ab95a0bad13f92bb868726f4b085cb Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Fri, 13 Sep 1996 10:51:48 +0000 Subject: [PATCH] Bug fix: ir_tcl_select_set called Tcl_GetFile at disconnect. --- ir-tcl.c | 8 +++++--- select.c | 9 ++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ir-tcl.c b/ir-tcl.c index 78aacca..cbf0d76 100644 --- a/ir-tcl.c +++ b/ir-tcl.c @@ -5,7 +5,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: ir-tcl.c,v $ - * Revision 1.94 1996-08-21 13:32:53 adam + * Revision 1.95 1996-09-13 10:51:49 adam + * Bug fix: ir_tcl_select_set called Tcl_GetFile at disconnect. + * + * Revision 1.94 1996/08/21 13:32:53 adam * Implemented saveFile method and extended loadFile method to work with it. * * Revision 1.93 1996/08/16 15:07:45 adam @@ -1161,12 +1164,11 @@ void ir_tcl_disconnect (IrTcl_Obj *p) logf(LOG_DEBUG, "Closing connection to %s", p->hostname); xfree (p->hostname); p->hostname = NULL; - ir_select_remove_write (cs_fileno (p->cs_link), p); + assert (p->cs_link); ir_select_remove (cs_fileno (p->cs_link), p); odr_reset (p->odr_in); - assert (p->cs_link); cs_close (p->cs_link); p->cs_link = NULL; diff --git a/select.c b/select.c index 93f2012..dde83a3 100644 --- a/select.c +++ b/select.c @@ -5,7 +5,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: select.c,v $ - * Revision 1.1 1996-08-20 09:33:23 adam + * Revision 1.2 1996-09-13 10:51:48 adam + * Bug fix: ir_tcl_select_set called Tcl_GetFile at disconnect. + * + * Revision 1.1 1996/08/20 09:33:23 adam * Tcl7.5 Generic file handling. * */ @@ -67,6 +70,8 @@ void ir_tcl_select_set (void (*f)(ClientData clientData, int r, int w, int e), } if (!*sp) { + if (!f) + return; *sp = ir_tcl_malloc (sizeof(**sp)); (*sp)->next = NULL; (*sp)->fd = fd; @@ -116,6 +121,8 @@ void ir_tcl_select_set (void (*f)(ClientData clientData, int r, int w, int e), } if (!sp) { + if (!f) + return; sp = ir_tcl_malloc (sizeof(*sp)); sp->next = sel_proc_list; sel_proc_list = sp; -- 1.7.10.4