pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: las.c,v 1.176 2000/05/01 02:11:25 hubbe Exp $"); + RCSID("$Id: las.c,v 1.177 2000/05/07 00:39:17 hubbe Exp $");      #include "language.h"   #include "interpret.h"   #include "las.h"   #include "array.h"   #include "object.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "lex.h"   #include "pike_types.h"
pike.git/src/las.c:1223:    node_name);    } else {    yyerror("Failed to index module (Not a module?)");    }    pop_stack();    push_int(0);    break;       default:    { +  int c;    DECLARE_CYCLIC(); -  if(BEGIN_CYCLIC(sp[-1].u.refs, id)) +  c=(int)BEGIN_CYCLIC(sp[-1].u.refs, id); +  if(c>1)    {    my_yyerror("Recursive module dependency in '%s'.",id->str);    pop_stack();    push_int(0);    }else{ -  SET_CYCLIC_RET(1); +  SET_CYCLIC_RET(c+1);    ref_push_string(id);    {    struct svalue *save_sp = sp-2;    JMP_BUF recovery;    if (SETJMP(recovery)) {    /* f_index() threw an error!    *    * FIXME: Report the error thrown.    */    if (sp > save_sp) {
pike.git/src/las.c:1264:    !sp[-1].u.integer &&    sp[-1].subtype==NUMBER_UNDEFINED)    {    if (node_name) {    my_yyerror("Index '%s' not present in module '%s'.",    id->str, node_name);    } else {    my_yyerror("Index '%s' not present in module.", id->str);    }    } +  }    END_CYCLIC();    }    }    } -  } +     UNSETJMP(tmp);    ret=mkconstantsvaluenode(sp-1);    pop_stack();    return ret;   }         int node_is_eq(node *a,node *b)   {    check_tree(a,0);