--- a/Stream.st Fri Mar 22 15:50:25 1996 +0100
+++ b/Stream.st Fri Mar 22 15:51:36 1996 +0100
@@ -239,11 +239,13 @@
].
"change from unsigned 0..FFFFFFFF to signed -80000000..7FFFFFFF"
-"sorry- for now, stc cannot compile LargeInteger constants
- uval >= 16r80000000 ifTrue:[
- ^ uval - 16r100000000
- ].
-the following kludges around this"
+"/ sorry- for now (2.7), stc cannot compile LargeInteger constants
+"/ uval >= 16r80000000 ifTrue:[
+"/ ^ uval - 16r100000000
+"/ ].
+"/ the following kludges around this
+"/ well, new (2.8) can ...
+
(uval bitShift:-16) >= 16r8000 ifTrue:[
^ uval - (16r10000000 bitShift:8)
].
@@ -294,8 +296,6 @@
"sorry, but need a largeInteger"
s := (val bitShift:8) + self next.
s := (s bitShift:8) + self next.
- "the multiplication below is a temporary workaround for the
- inability of smallintegers to handle shifts out of the 32bit range ..."
s := (s * 256) + self next.
^ s
].
@@ -414,7 +414,8 @@
Possibly pad with leading zeros.
The receiver must support writing of binary bytes."
- |vlen i|
+ |vlen "{ Class: SmallInteger }"
+ i "{ Class: SmallInteger }"|
"claus: this method is central in binaryStorage -
therefore it has been tuned a bit (and needs even more tuning)"
@@ -459,20 +460,22 @@
"
the number is too big to be repesented in n bytes
"
- self error: 'number too big'
+ self error:'number too big'
].
"pad with leading zeros"
i := n.
- [i > vlen] whileTrue: [
- self nextPut: 0.
+ [i > vlen] whileTrue:[
+ self nextPut:0.
i := i - 1
].
- i = 1 ifTrue: [
- ^ self nextPut: v
+
+ i == 1 ifTrue:[
+ ^ self nextPut:v
].
- [i > 0] whileTrue: [
- self nextPut: (v digitAt: i).
+
+ [i > 0] whileTrue:[
+ self nextPut:(v digitAt:i).
i := i - 1
]
!
@@ -510,14 +513,18 @@
first. Returns the receiver on ok, nil on error.
The receiver must support writing of binary bytes."
+ |iNum "{ Class: SmallInteger }"|
+
+ iNum := aNumber.
+
msbFlag ifTrue:[
"most significant first"
- self nextPut:(aNumber bitShift:-8).
- ^ self nextPut:(aNumber bitAnd:16rFF).
+ self nextPut:(iNum bitShift:-8).
+ ^ self nextPut:(iNum bitAnd:16rFF).
].
"least significant first"
- self nextPut:(aNumber bitAnd:16rFF).
- self nextPut:(aNumber bitShift:-8).
+ self nextPut:(iNum bitAnd:16rFF).
+ self nextPut:(iNum bitShift:-8).
!
nextPutShortNet:aNumber
@@ -790,7 +797,7 @@
(element = anObject) ifTrue: [
^ answerStream contents
].
- answerStream nextPut: element.
+ answerStream nextPut:element.
].
^ answerStream contents
@@ -1037,6 +1044,6 @@
!Stream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Stream.st,v 1.33 1996-02-19 15:07:24 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Stream.st,v 1.34 1996-03-22 14:51:36 cg Exp $'
! !
Stream initialize!