pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:1936:    INT32 max=extract_type_int(a+e+1+sizeof(INT32));    fprintf(stderr, "int");    if(min!=MIN_INT32 || max!=MAX_INT32) {    if (!min && max && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    fprintf(stderr, "(%dbit)", j); +  } else if (min == max) { +  fprintf(stderr, "(%ld)", (long)min);    } else {    fprintf(stderr, "(%ld..%ld)",(long)min,(long)max);    }    }    e+=sizeof(INT32)*2;    break;    }    case T_FLOAT: fprintf(stderr, "float"); break;    case T_STRING: fprintf(stderr, "string"); break;    case T_TYPE: fprintf(stderr, "type"); break;
pike.git/src/pike_types.cmod:2035:    INT32 max = CDR_TO_INT(s);    fprintf(stderr, "int");    if(min!=MIN_INT32 || max!=MAX_INT32) {    if (!min && max && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    fprintf(stderr, "(%dbit)", j); +  } else if (min == max) { +  fprintf(stderr, "(%ld)", (long)min);    } else {    fprintf(stderr, "(%ld..%ld)",(long)min,(long)max);    }    }    break;    }    case T_FLOAT: fprintf(stderr, "float"); break;    case T_STRING:    {    INT32 min;
pike.git/src/pike_types.cmod:2082:    min = CAR_TO_INT(char_type);    max = CDR_TO_INT(char_type);    if (!min && max && max != MAX_INT32 && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    fprintf(stderr, "%dbit", j);    } else { -  if (min != MIN_INT32) { +  if ((min != MIN_INT32) || (max == min)) {    fprintf(stderr, "%d", min);    } -  +  if (max != min) {    fprintf(stderr, "..");    if (max != MAX_INT32) {    fprintf(stderr, "%d", max);    }    } -  +  }    fprintf(stderr, " | ");    s = s->cdr;    }    while(s->type == T_ASSIGN) {    s = s->cdr;    }    if (s->type == T_ZERO) {    fprintf(stderr, "zero");    } else if ((s->type >= '0') && (s->type <= '9')) {    fprintf(stderr, "$%c", s->type);
pike.git/src/pike_types.cmod:2117:    min = CAR_TO_INT(s);    max = CDR_TO_INT(s);    if (!min && max && max != MAX_INT32 && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    fprintf(stderr, "%dbit", j);    } else { -  if (min != MIN_INT32) { +  if ((min != MIN_INT32) || (min == max)) {    fprintf(stderr, "%d", min);    } -  +  if (min != max) {    fprintf(stderr, "..");    if (max != MAX_INT32) {    fprintf(stderr, "%d", max);    }    }    } -  +  }    fprintf(stderr, ")");    }    break;    }    case T_TYPE:    fprintf(stderr, "type(");    simple_describe_type(s->car);    fprintf(stderr, ")");    break;    case T_PROGRAM:
pike.git/src/pike_types.cmod:2278:    INT32 min=CAR_TO_INT(t);    INT32 max=CDR_TO_INT(t);       if (!min && max && max != MAX_INT32 && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    string_builder_sprintf(s, "int(%dbit)", j); +  } else if (min == max) { +  string_builder_sprintf(s, "int(%ld)", (long)min);    } else if(min!=MIN_INT32 || max!=MAX_INT32) {    string_builder_sprintf(s, "int(%ld..%ld)", (long)min, (long)max);    } else {    string_builder_strcat(s, "int");    }    break;    }    case T_FLOAT: string_builder_strcat(s, "float"); break;    case T_PROGRAM:    if ((t->car->type == T_OBJECT) &&
pike.git/src/pike_types.cmod:2345:    min = CAR_TO_INT(char_type);    max = CDR_TO_INT(char_type);    if (!min && max && max != MAX_INT32 && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    string_builder_sprintf(s, "%dbit", j);    } else { -  if (min != MIN_INT32) { +  if ((min != MIN_INT32) || (min == max)) {    string_builder_sprintf(s, "%d", min);    } -  +  if (min != max) {    string_builder_strcat(s, "..");    if (max != MAX_INT32) {    string_builder_sprintf(s, "%d", max);    }    }    } -  +  }    string_builder_strcat(s, " | ");    t = t->cdr;    }    while(t->type == T_ASSIGN) {    t = t->cdr;    }    if (t->type != T_INT) {    low_describe_type(s, t);    } else {    min = CAR_TO_INT(t);    max = CDR_TO_INT(t);    if (!min && max && max != MAX_INT32 && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    string_builder_sprintf(s, "%dbit", j);    } else { -  if (min != MIN_INT32) { +  if ((min != MIN_INT32) || (min == max)) {    string_builder_sprintf(s, "%d", min);    } -  +  if (min != max) {    string_builder_strcat(s, "..");    if (max != MAX_INT32) {    string_builder_sprintf(s, "%d", max);    }    }    } -  +  }    string_builder_putchar(s, ')');    } else {    string_builder_strcat(s, "string");    }    break;    }    case T_TYPE:    string_builder_sprintf(s, "type(%T)", t->car);    break;