pike.git / src / program.c

version» Context lines:

pike.git/src/program.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: program.c,v 1.524 2003/09/08 20:05:21 mast Exp $ + || $Id: program.c,v 1.525 2003/09/10 15:21:58 mast Exp $   */      #include "global.h" - RCSID("$Id: program.c,v 1.524 2003/09/08 20:05:21 mast Exp $"); + RCSID("$Id: program.c,v 1.525 2003/09/10 15:21:58 mast Exp $");   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"   #include "pike_types.h"   #include "stralloc.h"   #include "las.h"   #include "language.h"   #include "lex.h"   #include "pike_macros.h"   #include "fsort.h"
pike.git/src/program.c:4907:    reference_shared_string(str);    add_to_strings(str);    return i;   }      int store_constant(struct svalue *foo,    int equal,    struct pike_string *constant_name)   {    struct program_constant tmp; -  unsigned int e; +     JMP_BUF tmp2;       if(SETJMP(tmp2))    {    struct svalue zero, thrown = throw_value;    throw_value.type = T_INT;       dmalloc_touch_svalue(&thrown);       yyerror("Couldn't store constant.");
pike.git/src/program.c:4932:    pop_stack();    free_svalue(&thrown);       zero.type = T_INT;    zero.subtype = NUMBER_NUMBER;    zero.u.integer=0;       UNSETJMP(tmp2);    return store_constant(&zero, equal, constant_name);    }else{ +  unsigned int e;    for(e=0;e<Pike_compiler->new_program->num_constants;e++)    {    JMP_BUF tmp1;    /* Assume that if `==() throws an error, the svalues aren't equal. */    if (!SETJMP(tmp1)) {    struct program_constant *c= Pike_compiler->new_program->constants+e;    if((equal ? is_equal(& c->sval,foo) : is_eq(& c->sval,foo)) &&    c->name == constant_name)    {    UNSETJMP(tmp1);