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.169 2003/03/14 15:53:09 grubba Exp $ + || $Id: encode.c,v 1.170 2003/03/28 23:54:24 mast 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:20:   #include "operators.h"   #include "builtin_functions.h"   #include "module_support.h"   #include "fsort.h"   #include "threads.h"   #include "stuff.h"   #include "version.h"   #include "bignum.h"   #include "pikecode.h"    - RCSID("$Id: encode.c,v 1.169 2003/03/14 15:53:09 grubba Exp $"); + RCSID("$Id: encode.c,v 1.170 2003/03/28 23:54:24 mast Exp $");      /* #define ENCODE_DEBUG */      /* Use the old encoding method for programs. */   /* #define OLD_PIKE_ENCODE_PROGRAM */      #ifdef ENCODE_DEBUG   /* Pass a nonzero integer as the third arg to encode_value,    * encode_value_canonic and decode_value to activate this debug. */   #define EDB(N,X) do { debug_malloc_touch(data); if (data->debug>=N) {X;} } while (0)
pike.git/src/encode.c:466:    }    fputc('\n', stderr););    mapping_insert(data->encoded, val, &data->counter);    data->counter.u.integer++;    }          switch(val->type)    {    case T_INT: -  /* FIXME: Doesn't encode NUMBER_UNDEFINED et al. */ +  /* NOTE: Doesn't encode NUMBER_UNDEFINED et al. */ +  /* 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    push_int(i);    convert_stack_top_to_bignum();    encode_value2(Pike_sp-1,data);    pop_stack(); -  + #else +  Pike_error ("Cannot encode integers with more than 32 bits " +  "without bignum support.\n"); + #endif    return;    }    else    code_entry(TAG_INT, i,data);    }   #else    code_entry(TAG_INT, val->u.integer,data);   #endif    break;