pike.git
/
src
/
docode.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/docode.c:2456:
if(CDR(n)->token != F_CONSTANT || TYPEOF(CDR(n)->u.sval) != T_STRING) Pike_fatal("Bugg in F_ARROW, index not string.\n"); if(flags & WANT_LVALUE) { /* FIXME!!!! ??? I wonder what needs fixing... /Hubbe */ tmp1=do_docode(CAR(n), 0); emit1(F_ARROW_STRING, store_prog_string(CDR(n)->u.sval.u.string)); return 2; }else{ tmp1 = do_docode(CAR(n), DO_NOT_COPY);
-
/* fake lfuns start at NUM_LFUN and are not accessible via F_LOOKUP_LFUN */
-
if ((tmp2 = lfun_lookup_id(CDR(n)->u.sval.u.string)) != -1
&& tmp2 < NUM_LFUNS
) {
+
if ((tmp2 = lfun_lookup_id(CDR(n)->u.sval.u.string)) != -1 ) {
emit1(F_LOOKUP_LFUN, tmp2); } else { emit1(F_ARROW, store_prog_string(CDR(n)->u.sval.u.string)); } if(!(flags & DO_NOT_COPY)) { while(n && (n->token==F_INDEX || n->token==F_ARROW)) n=CAR(n); if(n->token==F_CONSTANT && !(n->node_info & OPT_EXTERNAL_DEPEND)) emit0(F_COPY_VALUE); }