Index: generic/xotcl.c =================================================================== diff -u -rebd253f47f14822a54b86b379622f6509cbbc4fe -ra976b7c6a116f584114d2612494aaaa8e8028387 --- generic/xotcl.c (.../xotcl.c) (revision ebd253f47f14822a54b86b379622f6509cbbc4fe) +++ generic/xotcl.c (.../xotcl.c) (revision a976b7c6a116f584114d2612494aaaa8e8028387) @@ -624,7 +624,7 @@ ObjStr(tov[0]), ObjStr(tov[1]), objc);*/ result = DoDispatch(cd, interp, objc, tov, flags); /*fprintf(stderr, " callMethod returns %d\n", result);*/ - FREE_ON_STACK(tov); + FREE_ON_STACK(Tcl_Obj *,tov); return result; } @@ -647,7 +647,7 @@ result = DoDispatch(cd, interp, objc, tov, flags); - FREE_ON_STACK(tov); + FREE_ON_STACK(Tcl_Obj *, tov); return result; } @@ -2278,15 +2278,15 @@ if (Tcl_EvalObjv(interp, 3, ov, 0) != TCL_OK) { XOTcl_PopFrame(interp, obj); DECR_REF_COUNT(savedResult); - FREE_ON_STACK(ov); + FREE_ON_STACK(Tcl_Obj *, ov); return 0; } DECR_REF_COUNT(result); result = Tcl_DuplicateObj(Tcl_GetObjResult(interp)); INCR_REF_COUNT(result); Tcl_SetObjResult(interp, savedResult); DECR_REF_COUNT(savedResult); - FREE_ON_STACK(ov); + FREE_ON_STACK(Tcl_Obj *, ov); } else { valueString = Tcl_GetStringFromObj(valueObject,&valueLength); Tcl_AppendToObj(result, valueString, valueLength); @@ -3465,7 +3465,7 @@ for (m = startCl->opt->isClassMixinOf; m; m = m->next) { /* we should have no deleted commands in the list */ - assert(Tcl_Command_cmdEpoch(m->cmdPtr) == NULL); + assert(Tcl_Command_cmdEpoch(m->cmdPtr) == 0); cl = XOTclGetClassFromCmdPtr(m->cmdPtr); assert(cl); @@ -3488,7 +3488,7 @@ for (m = startCl->opt->isObjectMixinOf; m; m = m->next) { /* we should have no deleted commands in the list */ - assert(Tcl_Command_cmdEpoch(m->cmdPtr) == NULL); + assert(Tcl_Command_cmdEpoch(m->cmdPtr) == 0); obj = XOTclGetObjectFromCmdPtr(m->cmdPtr); assert(obj); @@ -3543,7 +3543,7 @@ for (m = startCl->opt->isClassMixinOf; m; m = m->next) { /* we should have no deleted commands in the list */ - assert(Tcl_Command_cmdEpoch(m->cmdPtr) == NULL); + assert(Tcl_Command_cmdEpoch(m->cmdPtr) == 0); cl = XOTclGetClassFromCmdPtr(m->cmdPtr); assert(cl); @@ -3581,7 +3581,7 @@ for (m = startCl->opt->instmixins; m; m = m->next) { /* we should have no deleted commands in the list */ - assert(Tcl_Command_cmdEpoch(m->cmdPtr) == NULL); + assert(Tcl_Command_cmdEpoch(m->cmdPtr) == 0); cl = XOTclGetClassFromCmdPtr(m->cmdPtr); assert(cl); @@ -5696,7 +5696,7 @@ fprintf(stderr,"?? %s unknown %s\n", ObjStr(obj->cmdName), ObjStr(tov[2])); */ result = DoDispatch(cd, interp, objc+1, tov, flags | XOTCL_CM_NO_UNKNOWN); - FREE_ON_STACK(tov); + FREE_ON_STACK(Tcl_Obj *, tov); } else { /* unknown failed */ return XOTclVarErrMsg(interp, ObjStr(objv[0]), @@ -9113,7 +9113,7 @@ DECR_REF_COUNT(alias); } DECR_REF_COUNT(objv[1]); - FREE_ON_STACK(objv); + FREE_ON_STACK(Tcl_Obj *, objv); return result; } @@ -9485,7 +9485,7 @@ memcpy(ov, objv, sizeof(Tcl_Obj *)*objc); ov[0] = tcd->cmdName; result = callForwarder(tcd, interp, objc, ov); - FREE_ON_STACK(ov); + FREE_ON_STACK(Tcl_Obj *, ov); return result; } else { Tcl_Obj **ov, *freeList=NULL; @@ -9596,8 +9596,8 @@ if (tcd->prefix) {DECR_REF_COUNT(ov[1]);} exitforwardmethod: if (freeList) {DECR_REF_COUNT(freeList);} - FREE_ON_STACK(objvmap); - FREE_ON_STACK(OV); + FREE_ON_STACK(int, objvmap); + FREE_ON_STACK(Tcl_Obj *,OV); } return result; } @@ -10727,7 +10727,7 @@ /* fprintf(stderr, "create -- end ... %s\n", ObjStr(tov[1]));*/ if (tmpObj) {DECR_REF_COUNT(tmpObj);} - FREE_ON_STACK(tov); + FREE_ON_STACK(Tcl_Obj *, tov); return result; } @@ -10819,7 +10819,7 @@ memcpy(ov+3, objv+offset, sizeof(Tcl_Obj *)*objc); result = DoDispatch(cd, interp, objc+3, ov, 0); - FREE_ON_STACK(ov); + FREE_ON_STACK(Tcl_Obj *, ov); } #if REFCOUNTED @@ -12543,10 +12543,10 @@ xotclMemCountInterpCounter++; #endif } - FREE_ON_STACK(ov); + FREE_ON_STACK(Tcl_Obj *, ov); return TCL_OK; interp_error: - FREE_ON_STACK(ov); + FREE_ON_STACK(Tcl_Obj *, ov); return TCL_ERROR; }