Branch: Tag:

2003-04-27

2003-04-27 12:54:37 by Martin Stjernholm <mast@lysator.liu.se>

Evaluate the argument only once in the stack_unlink macro.

Rev: src/interpret.h:1.139

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: interpret.h,v 1.138 2003/04/27 12:25:34 mast Exp $ + || $Id: interpret.h,v 1.139 2003/04/27 12:54:37 mast Exp $   */      #ifndef INTERPRET_H
207:    * return value.    */   #define stack_unlink(X) do { \ -  if(X) { \ +  ptrdiff_t x_ = (X); \ +  if (x_) { \    struct svalue *_sp_ = --Pike_sp; \ -  free_svalue(_sp_-(X)); \ -  _sp_[-(X)] = _sp_[0]; \ -  pop_n_elems(X-1); \ +  free_svalue(_sp_-x_); \ +  _sp_[-x_] = _sp_[0]; \ +  pop_n_elems(x_-1); \    } \    }while(0)