Branch: Tag:

2010-12-20

2010-12-20 12:13:54 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Calendar: Fix evaluation order for `+().

Thanks to Marc Dirix <marc@dirix.nu> for the testcase.

1:   //! module Calendar    - // $Id: TimeRanges.pmod,v 1.37 2009/08/19 09:09:12 grubba Exp $ + // $Id$      #pike __REAL_VERSION__   
262:    TimeRange `+(program|this_program|int n,    program|this_program|int ... more)    { -  if (sizeof(more)) n = predef::`+(n, @more); -  if (objectp(n)) return add(1,n); -  return add(n); +  TimeRange res; +  if (objectp(n)) res = add(1,n); +  else res = add(n); +  if (sizeof(more)) +  return predef::`+(res, @more); +  return res;    }       TimeRange ``+(int n, int ... more)