--- a/Stream.st Fri Mar 13 14:50:51 2015 +0100
+++ b/Stream.st Sat Mar 14 22:29:05 2015 +0100
@@ -1448,16 +1448,22 @@
nextPutAllUtf16:aString
"write a string as UTF-16 bytes"
- aString do:[:eachCharacter|
- self nextPutUtf16:eachCharacter.
+ |sz "{Class: SmallInteger}"|
+
+ sz := aString size.
+ 1 to:sz do:[:idx|
+ self nextPutUtf16:(aString at:idx).
].
!
nextPutAllUtf8:aString
"normal streams can not handle multi-byte characters, so convert them to utf8"
- aString do:[:eachCharacter|
- self nextPutUtf8:eachCharacter.
+ |sz "{Class: SmallInteger}"|
+
+ sz := aString size.
+ 1 to:sz do:[:idx|
+ self nextPutUtf8:(aString at:idx).
].
!
@@ -1773,7 +1779,7 @@
UTF-16 can encode only characters with code points between 0 to 16r10FFFF.
The collection must be able to store 2-byte values (TwoByteString, OrderedCollection)"
- |codePoint|
+ |codePoint "{Class: SmallInteger}"|
codePoint := aCharacter codePoint.
(codePoint <= 16rD7FF
@@ -1805,7 +1811,9 @@
Up to 31 bits can be encoded in up to 6 bytes.
However, currently, characters are limited to 31 bits."
- |codePoint b1 b2 b3 b4 b5 v|
+ |codePoint "{Class: SmallInteger}"
+ v "{Class: SmallInteger}"
+ b1 b2 b3 b4 b5|
codePoint := aCharacter codePoint.
@@ -1850,8 +1858,7 @@
^ self.
].
-
- self error:'codePoint > 31bit in #nextPutUtf8:'.
+ EncodingError raiseWith:aCharacter errorString:'codePoint > 31bit in #nextPutUtf8:'.
"
(String streamContents:[:s|
@@ -3750,11 +3757,11 @@
!Stream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Stream.st,v 1.238 2015-03-13 11:27:09 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Stream.st,v 1.239 2015-03-14 21:29:05 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Stream.st,v 1.238 2015-03-13 11:27:09 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Stream.st,v 1.239 2015-03-14 21:29:05 stefan Exp $'
! !