Branch: Tag:

2008-01-26

2008-01-26 22:34:27 by Martin Stjernholm <mast@lysator.liu.se>

Eradicated all instances of setting type to T_INT without also setting the
subtype in an svalue. From now on one should either set the subtype or use
the new svalue type PIKE_T_FREE (see svalue.h).

Rev: src/OCPikeInterpreter.m:1.3
Rev: src/apply_low.h:1.32
Rev: src/array.c:1.198
Rev: src/array.h:1.71
Rev: src/bignum.c:1.42
Rev: src/builtin.cmod:1.193
Rev: src/builtin_functions.c:1.650
Rev: src/configure.in:1.1038
Rev: src/cpp.c:1.164
Rev: src/encode.c:1.250
Rev: src/error.c:1.151
Rev: src/interpret.c:1.385
Rev: src/interpret_functions.h:1.197
Rev: src/iterators.cmod:1.64
Rev: src/las.c:1.403
Rev: src/main.c:1.228
Rev: src/mapping.c:1.195
Rev: src/module.c:1.47
Rev: src/modules/Gmp/mpz_glue.c:1.170
Rev: src/modules/HTTPLoop/accept_and_parse.c:1.39
Rev: src/modules/HTTPLoop/requestobject.c:1.31
Rev: src/modules/Image/colortable.c:1.130
Rev: src/modules/Java/jvm.c:1.84
Rev: src/modules/Parser/html.c:1.178
Rev: src/modules/Parser/xml.cmod:1.97
Rev: src/modules/Postgres/postgres.c:1.55
Rev: src/modules/_math/math.c:1.87
Rev: src/modules/files/sendfile.c:1.78
Rev: src/modules/spider/spider.c:1.134
Rev: src/multiset.c:1.106
Rev: src/object.c:1.281
Rev: src/operators.c:1.226
Rev: src/pike_error.h:1.42
Rev: src/post_modules/Shuffler/Shuffler.cmod:1.45
Rev: src/post_modules/_ADT/circular_list.cmod:1.18
Rev: src/post_modules/_ADT/sequence.cmod:1.19
Rev: src/program.c:1.642
Rev: src/signal_handler.c:1.331
Rev: src/sscanf.c:1.170
Rev: src/svalue.c:1.234
Rev: src/svalue.h:1.149

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: array.c,v 1.197 2007/12/24 15:33:43 grubba Exp $ + || $Id: array.c,v 1.198 2008/01/26 22:34:17 mast Exp $   */      #include "global.h"
408:    (char *)(ITEM(v)+index),    (v->size-index) * sizeof(struct svalue));    } -  ITEM(v)[index].type=T_INT; - #ifdef __CHECKER__ -  ITEM(v)[index].subtype=0; -  ITEM(v)[index].u.refs=0; - #endif +  assert_free_svalue (ITEM(v) + index);    v->size++;    }else{    struct array *ret;
423:       MEMCPY(ITEM(ret), ITEM(v), sizeof(struct svalue) * index);    MEMCPY(ITEM(ret)+index+1, ITEM(v)+index, sizeof(struct svalue) * (v->size-index)); -  ITEM(ret)[index].type=T_INT; - #ifdef __CHECKER__ -  ITEM(ret)[index].subtype=0; -  ITEM(ret)[index].u.refs=0; - #endif +  assert_free_svalue (ITEM(ret) + index);    v->size=0;    free_array(v);    v=ret;    }    -  array_set_index(v,index,s); +  array_set_index_no_free (v,index,s);       return v;   }
1605: Inside #if 1
   if ((v->item - v->real_item) >= tmp) {    debug_malloc_touch(v);    argp[e].type=T_INT; +  argp[e].subtype = NUMBER_NUMBER;    for(tmp=e-1;tmp>=0;tmp--)    {    debug_malloc_touch(argp[tmp].u.array);
1645: Inside #if 1
   if (v2) {    debug_malloc_touch(v2);    argp[e2].type=T_INT; +  argp[e2].subtype = NUMBER_NUMBER;    MEMMOVE((char *)(ITEM(v2)+tmp2), (char *)ITEM(v2),    v2->size * sizeof(struct svalue));    v2->item += tmp2;
1683:    e=argp[0].u.array->size;    v=resize_array(argp[0].u.array, size);    argp[0].type=T_INT; +  argp[0].subtype = NUMBER_NUMBER;    size=e;    e=1;    }else{