pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:4978:    if (!tmp) return NULL;    if (tmp != b->cdr) return tmp;    type_stack_mark();    push_finished_type(tmp);    push_type_name((struct pike_string *)(b->car));    free_type(tmp);    return pop_unfinished_type();    case PIKE_T_ATTRIBUTE:    tmp = low_type_binop(op, a, b->cdr, remap, aflags, bflags, remap_flags);    if (!tmp) { -  if (c && (op == PT_BINOP_MINUS)) { +  if (a && c && (op == PT_BINOP_MINUS)) {    ref_push_string((struct pike_string *)b->car);    ref_push_type_value(a);    ref_push_type_value(b->cdr); -  safe_apply_current2(PC_POP_TYPE_ATTRIBUTE_FUN_NUM, 3, +  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)) {    /* Forced mismatch. */    pop_stack();    return remap_markers(a, remap, remap_flags);    }    pop_stack();    }