pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:8159:       case PIKE_T_RING:    b = b->car;    goto recurse;       case PIKE_T_ATTRIBUTE:    if (!c) {    b = b->cdr;    goto recurse;    } -  if (!low_pike_types_le(a, b->cdr, array_cnt, flags)) return 0; +  if (!low_pike_types_le(a, b->cdr, array_cnt, flags|LE_STRICT_FUN)) return 0;    ref_push_string((struct pike_string *)b->car);    ref_push_type_value(a);    ref_push_type_value(b->cdr);    safe_apply_current2(PC_PUSH_TYPE_ATTRIBUTE_FUN_NUM, 3,    "push_type_attribute");    if ((TYPEOF(Pike_sp[-1]) == T_INT) &&    (SUBTYPEOF(Pike_sp[-1]) == NUMBER_NUMBER) &&    (!Pike_sp[-1].u.integer)) {    pop_stack();    return 0;
pike.git/src/pike_types.cmod:8724:    {    a = a->cdr;    }       b_tmp = b->car;    if (b->type == T_FUNCTION)    {    b = b->cdr;    }    -  if (a_tmp && (a_tmp->type != T_VOID)) { +  if ((a_tmp && (a_tmp->type != T_VOID)) || (flags & LE_STRICT_FUN)) {    /* Note: flags never has grouping at this point. */    if (!low_pike_types_le(b_tmp, a_tmp, 0, flags ^ LE_A_B_SWAPPED)) {    return 0;    }    } else if (flags & LE_TYPE_SVALUE) {    /* Note: flags never has grouping at this point. */    if (!low_pike_types_le(b_tmp, zero_type_string, 0,    flags ^ LE_A_B_SWAPPED)) {    return 0;    }