Stream.st
changeset 17620 aa053bd16549
parent 17616 5bde04375497
child 17628 5acbf3c5af8c
--- 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 $'
 ! !