#REFACTORING by stefan
authorStefan Vogel <sv@exept.de>
Wed, 10 Jan 2018 23:00:57 +0100
changeset 22414 8a15c1e6c4a8
parent 22413 b40bbf08ddd8
child 22415 769a6b3f0a19
#REFACTORING by stefan class: CharacterEncoderImplementations::ISO10646_to_UTF8_MAC added: #readNextCharacterFrom:
CharacterEncoderImplementations__ISO10646_to_UTF8_MAC.st
--- a/CharacterEncoderImplementations__ISO10646_to_UTF8_MAC.st	Wed Jan 10 23:00:16 2018 +0100
+++ b/CharacterEncoderImplementations__ISO10646_to_UTF8_MAC.st	Wed Jan 10 23:00:57 2018 +0100
@@ -312,6 +312,22 @@
     ].
 
     "Created: / 16-02-2017 / 17:33:04 / stefan"
+!
+
+readNextCharacterFrom:aStream 
+    |firstByte bytesToRead str|
+
+    firstByte := aStream peek. 
+    firstByte ifNil:[^ nil].
+    firstByte := firstByte codePoint.
+    bytesToRead := self class bytesToReadFor:firstByte.
+    str := self decodeString:(aStream next:bytesToRead).
+    str size ~~ 1 ifTrue:[
+        DecodingError raiseRequestErrorString:' - bad UTF8_MAC encoding'.
+    ].
+    ^ str first
+
+    "Created: / 10-01-2018 / 22:35:23 / stefan"
 ! !
 
 !ISO10646_to_UTF8_MAC methodsFor:'queries'!