X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-tcl.git;a=blobdiff_plain;f=hbytes%2Fparse.c;h=ddb5ac5e37ee9efca562f96d8fe91da1ca0994eb;hp=e5e3465c93c450eea9357c55e35718663ed58f03;hb=bc4e7d2673e44826dd768ad7f91c393349da24de;hpb=9b7d11070d3e9dc1eb61cbccd5155f47a27047c3 diff --git a/hbytes/parse.c b/hbytes/parse.c index e5e3465..ddb5ac5 100644 --- a/hbytes/parse.c +++ b/hbytes/parse.c @@ -49,7 +49,7 @@ int pat_hbv(Tcl_Interp *ip, Tcl_Obj *var, HBytes_Var *agg) { void fini_hbv(Tcl_Interp *ip, int rc, HBytes_Var *agg) { Tcl_Obj *ro; - Tcl_InvalidateStringRep(agg->obj); + if (agg->obj) Tcl_InvalidateStringRep(agg->obj); if (!rc) { assert(agg->obj); ro= Tcl_ObjSetVar2(ip,agg->var,0,agg->obj,TCL_LEAVE_ERR_MSG); @@ -75,6 +75,10 @@ Tcl_Obj *ret_hb(Tcl_Interp *ip, HBytes_Value val) { return obj; } +Tcl_Obj *ret_int(Tcl_Interp *ip, int val) { + return Tcl_NewIntObj(val); +} + Tcl_Obj *ret_obj(Tcl_Interp *ip, Tcl_Obj *val) { return val; }