diff -r 152b525b5c63 -r 68e5382ae472 SmallInteger.st --- a/SmallInteger.st Wed Aug 31 22:45:49 2016 +0100 +++ b/SmallInteger.st Fri Sep 02 17:32:16 2016 +0100 @@ -1,3 +1,5 @@ +"{ Encoding: utf8 }" + " COPYRIGHT (c) 1988 by Claus Gittinger All Rights Reserved @@ -962,7 +964,6 @@ ! ! - !SmallInteger methodsFor:'bit operators'! bitAnd:anInteger @@ -4433,7 +4434,7 @@ } if ((__base < sizeof(ucDigits)) && (__base > 1)) { - char buffer[64+3]; /* for 64bit machines, base 2, plus sign, plus 0-byte */ + char buffer[64+5]; /* for 64bit machines, base 2, plus sign, plus 0-byte */ char *cp; OBJ newString; int negative = 0; @@ -4465,7 +4466,7 @@ "/ "/ fall back for seldom used bases - "/ Notice: cannt use super>>printStringRadix: here, + "/ Notice: cannot use super>>printStringRadix: here, "/ since that would lead to endless recursion ... "/ (a consequence of reversing printOn / printString functionality) @@ -4474,8 +4475,10 @@ ^ s contents. " - 127 printStringRadix:16 - 127 printStringRadix:-16 + 127 printStringRadix:16 + 127 printStringRadix:-16 + -127 printStringRadix:16 + -127 printStringRadix:-16 123 printStringRadix:12 123 printStringRadix:10 123 printStringRadix:8 @@ -4491,6 +4494,24 @@ -123 printStringRadix:8 -123 printStringRadix:3 -123 printStringRadix:2 + + 16r3FFFFFFF printStringRadix:16 + 16r7FFFFFFF printStringRadix:16 + 16rFFFFFFFF printStringRadix:16 + 16r3FFFFFFFFFFFFFFF printStringRadix:16 + 16r7FFFFFFFFFFFFFFF printStringRadix:16 + 16rFFFFFFFFFFFFFFFF printStringRadix:16 + + -16r3FFFFFFF printStringRadix:16 + -16r40000000 printStringRadix:16 + -16r7FFFFFFF printStringRadix:16 + -16r80000000 printStringRadix:16 + -16rFFFFFFFF printStringRadix:16 + -16r3FFFFFFFFFFFFFFF printStringRadix:16 + -16r7FFFFFFFFFFFFFFF printStringRadix:16 + -16rFFFFFFFFFFFFFFFF printStringRadix:16 + -16r4000000000000000 printStringRadix:16 + -16r8000000000000000 printStringRadix:16 " !