Branch: Tag:

2004-08-25

2004-08-25 12:15:29 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Bugfix.

Rev: src/operators.c:1.194

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: operators.c,v 1.193 2004/08/24 14:34:06 grubba Exp $ + || $Id: operators.c,v 1.194 2004/08/25 12:15:29 grubba Exp $   */      #include "global.h"   #include <math.h> - RCSID("$Id: operators.c,v 1.193 2004/08/24 14:34:06 grubba Exp $"); + RCSID("$Id: operators.c,v 1.194 2004/08/25 12:15:29 grubba Exp $");   #include "interpret.h"   #include "svalue.h"   #include "multiset.h"
1553:    {    emit0(F_ADD_FLOATS);    } -  else if(pike_types_le(first_arg[0]->type, int_type_string) && +  else if(first_arg[0]->type && second_arg[0]->type && +  pike_types_le(first_arg[0]->type, int_type_string) &&    pike_types_le(second_arg[0]->type, int_type_string))    {    emit0(F_ADD_INTS);
1581:    return 1;    }    } -  else if(pike_types_le(first_arg[0]->type, int_type_string) && +  else if(first_arg[0]->type && second_arg[0]->type && +  pike_types_le(first_arg[0]->type, int_type_string) &&    pike_types_le(second_arg[0]->type, int_type_string))    {    do_docode(*first_arg, 0);    do_docode(*second_arg, 0);    emit0(F_ADD_INTS); -  if (pike_types_le(third_arg[0]->type, int_type_string)) { +  if (third_arg[0]->type && +  pike_types_le(third_arg[0]->type, int_type_string)) {    do_docode(*third_arg, 0);    emit0(F_ADD_INTS);    return 1;