void fini_hbv(Tcl_Interp *ip, int rc, HBytes_Var *agg) {
Tcl_Obj *ro;
+ Tcl_InvalidateStringRep(agg->obj);
if (!rc) {
assert(agg->obj);
ro= Tcl_ObjSetVar2(ip,agg->var,0,agg->obj,TCL_LEAVE_ERR_MSG);
rc= Tcl_ConvertToType(ip,strv[i],&hbytes_type);
if (rc) return rc;
l += HBYTES_LEN(HBYTES(strv[i]));
+fprintf(stderr,"strs #%d %d %02x\n",i,l,
+ HBYTES(strv[i]).start ? HBYTES(strv[i]).start[0] : 0xff);
}
*l_r= l;
return TCL_OK;
int do_hbytes_append(ClientData cd, Tcl_Interp *ip,
HBytes_Var v, int strc, Tcl_Obj *const *strv) {
- return app_pre(cd,ip,1,v,strc,strv);
+ return app_pre(cd,ip,0,v,strc,strv);
}
int do_hbytes_prepend(ClientData cd, Tcl_Interp *ip,
HBytes_Var v, int strc, Tcl_Obj *const *strv) {
- return app_pre(cd,ip,0,v,strc,strv);
+ return app_pre(cd,ip,1,v,strc,strv);
}
int do_hbytes_concat(ClientData cd, Tcl_Interp *ip,
void fini_hbv(Tcl_Interp *ip, int rc, HBytes_Var *agg) {
Tcl_Obj *ro;
+ Tcl_InvalidateStringRep(agg->obj);
if (!rc) {
assert(agg->obj);
ro= Tcl_ObjSetVar2(ip,agg->var,0,agg->obj,TCL_LEAVE_ERR_MSG);