Posted to tcl by kbk at Mon Apr 30 18:57:13 GMT 2007view raw
- Index: generic/tclProc.c
- ===================================================================
- RCS file: /cvsroot/tcl/tcl/generic/tclProc.c,v
- retrieving revision 1.112
- diff -u -b -u -r1.112 tclProc.c
- --- generic/tclProc.c 25 Apr 2007 21:59:28 -0000 1.112
- +++ generic/tclProc.c 30 Apr 2007 18:55:45 -0000
- @@ -230,7 +230,8 @@
- * cannot assume that 'line' is valid here, we have to check.
- */
- - if ((context.type == TCL_LOCATION_SOURCE) && context.line
- + if (context.type == TCL_LOCATION_SOURCE) {
- + if (context.line
- && (context.nline >= 4) && (context.line[3] >= 0)) {
- int isNew;
- CmdFrame *cfPtr = (CmdFrame *) ckalloc(sizeof(CmdFrame));
- @@ -245,6 +246,7 @@
- if (context.type == TCL_LOCATION_SOURCE) {
- cfPtr->data.eval.path = context.data.eval.path;
- + Tcl_IncrRefCount(cfPtr->data.eval.path);
- /*
- * Transfer of reference. The reference going away (release of
- @@ -260,7 +262,10 @@
- cfPtr->cmd.str.len = 0;
- Tcl_SetHashValue(Tcl_CreateHashEntry(iPtr->linePBodyPtr,
- - (char *) procPtr, &isNew), cfPtr);
- + (char *) procPtr, &isNew),
- + cfPtr);
- + }
- + Tcl_DecrRefCount(context.data.eval.path);
- }
- }