From 1d44a174235c0c57c938cc88cff5ec088146d4fa Mon Sep 17 00:00:00 2001 From: Miguel Sofer Date: Tue, 18 Mar 2008 18:52:07 +0000 Subject: fix and simplify the OFFSET computation for TclStackAlloc --- generic/tclExecute.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 31df1a7..1677a78 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclExecute.c,v 1.368 2008/03/18 17:58:30 dgp Exp $ + * RCS: @(#) $Id: tclExecute.c,v 1.369 2008/03/18 18:52:07 msofer Exp $ */ #include "tclInt.h" @@ -860,12 +860,11 @@ TclFinalizeExecution(void) static inline int OFFSET( - Tcl_Obj **markerPtr) + void *ptr) { int mask = TCL_ALLOCALIGN-1; - int base = PTR2INT(markerPtr) & 0xFFFFFF; - int new = (base + TCL_ALLOCALIGN) & ~mask; - return (new - base); + int base = PTR2INT(ptr) & mask; + return (TCL_ALLOCALIGN - base)/sizeof(Tcl_Obj**); } #define MEMSTART(markerPtr) \ -- cgit v0.12