pike.git / src / encode.c

version» Context lines:

pike.git/src/encode.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: encode.c,v 1.260 2008/02/14 18:03:08 grubba Exp $ + || $Id: encode.c,v 1.261 2008/02/26 21:50:36 grubba Exp $   */      #include "global.h"   #include "stralloc.h"   #include "pike_macros.h"   #include "object.h"   #include "constants.h"   #include "interpret.h"   #include "svalue.h"   #include "mapping.h"
pike.git/src/encode.c:570:    /* But that's a feature; NUMBER_UNDEFINED is an inherently    * transient value. It would lose its usefulness otherwise.    * /mast */      #if SIZEOF_INT_TYPE > 4    {    INT_TYPE i=val->u.integer;    if (i != (INT32)i)    {   #ifdef AUTO_BIGNUM +  /* Reuse the id. */ +  data->counter.u.integer--; +  /* Make sure we don't find ourselves again below... */ +  map_delete(data->encoded, val); +  +  /* Encode as a bignum */    push_int(i);    convert_stack_top_to_bignum();    encode_value2(Pike_sp-1,data, 0);    pop_stack(); -  +  +  /* Restore the entry we removed above. */ +  mapping_insert(data->encoded, val, &entry_id);   #else    Pike_error ("Cannot encode integers with more than 32 bits "    "without bignum support.\n");   #endif    goto encode_done;    }    else    code_entry(TAG_INT, i,data);    }   #else
pike.git/src/encode.c:1649:    }    EDB(5,    fprintf(stderr, "%*sraw inherit_flags_set: %04x:%04x\n",    data->depth, "",    inherit_flags_set, inherit_flags_mask));    inherit_flags_set &= inherit_flags_mask;    code_number(inherit_flags_set, data);       EDB(5,    fprintf(stderr, "%*sinherit_flags: %04x\n", -  data->depth, "", inherit_flags_change)); +  data->depth, "", inherit_flags_set));       /* Identifier reference level at insertion. */    code_number(d_max, data);       /* name */    str_sval.u.string = inh->name;    encode_value2(&str_sval, data, 0);       /* prog */    ref_push_program(inh->prog);