pike.git / src / pike_types.c

version» Context lines:

pike.git/src/pike_types.c:7777:       case T_TYPE:    type_stack_mark();    push_finished_type(s->u.type);    push_type(T_TYPE);    return pop_unfinished_type();       case T_STRING:    type_stack_mark();    if (s->u.string->len) { -  /* FIXME: Could be extended to detect 7-bit strings, etc. */ -  if (s->u.string->size_shift == 2) { -  push_int_type(MIN_INT32, MAX_INT32); +  INT32 min, max; +  check_string_range( s->u.string, 0, &min, &max ); +  push_int_type(min, max);    } else { -  push_int_type(0, (1<<(8 << s->u.string->size_shift)) - 1); -  } -  } else { +     push_type(T_ZERO);    }    push_type(T_STRING);    return pop_unfinished_type();       default:    type_stack_mark();    push_type(TYPEOF(*s));    return pop_unfinished_type();    }