diff --git a/src/pike_types.c b/src/pike_types.c index 44a3b499e51d5e8702b8e535789bab77b54d9bd8..93bc5cde9e54ca12d70d2d52f581156b8ae1c47d 100644 --- a/src/pike_types.c +++ b/src/pike_types.c @@ -2104,7 +2104,7 @@ void simple_describe_type(struct pike_type *s) #endif /* PIKE_DEBUG */ min = CAR_TO_INT(char_type); max = CDR_TO_INT(char_type); - if (!min && max && !(max & (max+1))) { + if (!min && max && max != MAX_INT32 && !(max & (max+1))) { int j = 0; while (max) { max >>= 1; @@ -2139,7 +2139,7 @@ void simple_describe_type(struct pike_type *s) #endif /* PIKE_DEBUG */ min = CAR_TO_INT(s); max = CDR_TO_INT(s); - if (!min && max && !(max & (max+1))) { + if (!min && max && max != MAX_INT32 && !(max & (max+1))) { int j = 0; while (max) { max >>= 1; @@ -2310,7 +2310,7 @@ static void low_describe_type(struct pike_type *t) INT32 max=CDR_TO_INT(t); my_strcat("int"); - if (!min && max && !(max & (max+1))) { + if (!min && max && max != MAX_INT32 && !(max & (max+1))) { int j = 0; while (max) { max >>= 1; @@ -2388,7 +2388,7 @@ static void low_describe_type(struct pike_type *t) } else { min = CAR_TO_INT(char_type); max = CDR_TO_INT(char_type); - if (!min && max && !(max & (max+1))) { + if (!min && max && max != MAX_INT32 && !(max & (max+1))) { int j = 0; while (max) { max >>= 1; @@ -2419,7 +2419,7 @@ static void low_describe_type(struct pike_type *t) } else { min = CAR_TO_INT(t); max = CDR_TO_INT(t); - if (!min && max && !(max & (max+1))) { + if (!min && max && max != MAX_INT32 && !(max & (max+1))) { int j = 0; while (max) { max >>= 1;