pike.git / src / program.c

version» Context lines:

pike.git/src/program.c:7984:    if (funp->id_flags & ID_PRIVATE) {    flags = SEE_PRIVATE|SEE_PROTECTED;    } else if (funp->id_flags & ID_PROTECTED) {    flags = SEE_PROTECTED;    }       while ((fun_num = really_low_find_variant_identifier(name, prog, NULL,    fun_num, flags)) != -1) {    int i;    struct pike_type *ret; +  struct call_state cs;       id = ID_FROM_INT(prog, fun_num);    add_ref(t = id->type);       /* Check whether the type is compatible with our arguments. */    for (i = 0; i < args; i++) {    struct pike_type *cont =    check_call_svalue(t, 0, Pike_sp+i - (args + expected));    if (!cont && (i >= best)) {    if ((i > best) && expected) {
pike.git/src/program.c:8008:    push_type_value(t);    expected++;    t = NULL;    break;    } else {    free_type(t);    }    if (!(t = cont)) break;    }    if (!t) continue; -  ret = new_get_return_type(t, 0); +     -  +  INIT_CALL_STATE(cs); +  ret = new_get_return_type(t, &cs, 0); +  FREE_CALL_STATE(cs); +     if (!ret && (i+1 >= best)) {    if (((i+1) > best) && expected) {    pop_n_elems(expected);    expected = 0;    }    best = i+1;    push_type_value(t);    expected++;    continue;    }