pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: interpret.c,v 1.112 1999/05/12 05:26:55 hubbe Exp $"); + RCSID("$Id: interpret.c,v 1.113 1999/05/13 07:32:25 hubbe Exp $");   #include "interpret.h"   #include "object.h"   #include "program.h"   #include "svalue.h"   #include "array.h"   #include "mapping.h"   #include "error.h"   #include "language.h"   #include "stralloc.h"   #include "constants.h"
pike.git/src/interpret.c:293:    {    case T_ARRAY_LVALUE:    {    INT32 e;    if(from->type != T_ARRAY)    error("Trying to assign combined lvalue from non-array.\n");       if(from->u.array->size < (lval[1].u.array->size>>1))    error("Not enough values for multiple assign.\n");    +  if(from->u.array->size > (lval[1].u.array->size>>1)) +  error("Too many values for multiple assign.\n"); +     for(e=0;e<from->u.array->size;e++)    assign_lvalue(lval[1].u.array->item+(e<<1),from->u.array->item+e);    }    break;       case T_LVALUE:    assign_svalue(lval->u.lval,from);    break;       case T_SHORT_LVALUE: