pike.git / src / array.c

version» Context lines:

pike.git/src/array.c:1:   /*   || 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: array.c,v 1.144 2003/04/28 17:15:35 mast Exp $ + || $Id: array.c,v 1.145 2003/04/28 18:08:35 mast Exp $   */      #include "global.h"   #include "svalue.h"   #include "array.h"   #include "object.h"   #include "las.h"   #include "stralloc.h"   #include "interpret.h"   #include "opcodes.h"
pike.git/src/array.c:19:   #include "builtin_functions.h"   #include "pike_memory.h"   #include "gc.h"   #include "main.h"   #include "security.h"   #include "stuff.h"   #include "bignum.h"   #include "cyclic.h"   #include "multiset.h"    - RCSID("$Id: array.c,v 1.144 2003/04/28 17:15:35 mast Exp $"); + RCSID("$Id: array.c,v 1.145 2003/04/28 18:08:35 mast Exp $");      PMOD_EXPORT struct array empty_array=   {    PIKE_CONSTANT_MEMOBJ_INIT(1), /* Never free */    &weak_empty_array, /* Next */    &weak_shrink_empty_array, /* previous (circular) */    0, /* Size = 0 */    0, /* malloced Size = 0 */    0, /* no types */    0, /* no flags */
pike.git/src/array.c:1257:    * type. The 'union anything' may be changed, but not the type.    * The differance between this routine and the one above is that this takes    * the index as an svalue.    */   PMOD_EXPORT union anything *array_get_item_ptr(struct array *a,    struct svalue *ind,    TYPE_T t)   {    INT32 i;    if(ind->type != T_INT) -  Pike_error("Index is not an integer.\n"); +  Pike_error("Expected integer as array index, got %s.\n", +  get_name_of_type (ind->type));    i=ind->u.integer;    if(i<0) i+=a->size;    if(i<0 || i>=a->size) {    if (a->size) {    Pike_error("Index %d is out of array range 0 - %d.\n", i, a->size-1);    } else {    Pike_error("Attempt to index the empty array with %d.\n", i);    }    }    return low_array_get_item_ptr(a,i,t);