pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:8210:   #ifdef TYPE_GROUPING    flags |= LE_B_GROUPED;   #endif    /* FALLTHRU */    case PIKE_T_NAME:    b = b->cdr;    goto recurse;       case T_NOT:    /* Some common cases. */ -  switch(b->car->type) { +  switch(b->car?b->car->type:PIKE_T_UNKNOWN) {    case T_NOT:    b = b->car->car;    goto recurse;    case T_MIXED:    b = zero_type_string;    goto recurse;    case T_ZERO:    case T_VOID: -  +  case PIKE_T_UNKNOWN:    b = mixed_type_string;    goto recurse;    }    if (low_pike_types_le(a, b->car, array_cnt, flags)) {    return 0;    }    flags ^= LE_A_B_SWAPPED;   #ifdef TYPE_GROUPING    if (flags & LE_A_B_GROUPED) {    if ((flags & LE_A_B_GROUPED) == LE_A_B_GROUPED) {
pike.git/src/pike_types.cmod:8444:    flags ^= LE_A_B_GROUPED;    }    } else {    flags |= LE_A_B_GROUPED;    }   #endif   #endif    goto recurse;    }    /* Some common cases. */ -  switch(a->car->type) { +  switch(a->car?a->car->type:PIKE_T_UNKNOWN) {    case T_NOT:    a = a->car->car;    goto recurse;    case T_MIXED:    a = zero_type_string;    goto recurse;    case T_ZERO:    case T_VOID: -  +  case PIKE_T_UNKNOWN:    a = mixed_type_string;    goto recurse;    }    if (low_pike_types_le(a->car, b, array_cnt, flags)) {    return 0;    }    flags ^= LE_A_B_SWAPPED;   #if 0   #ifdef TYPE_GROUPING    if (flags & LE_A_B_GROUPED) {