CharacterEncoder.st
changeset 12608 aa9bcd341200
parent 12435 539c24148e90
child 13063 a17ba204b911
--- a/CharacterEncoder.st	Fri Dec 11 17:50:30 2009 +0100
+++ b/CharacterEncoder.st	Fri Dec 11 17:54:00 2009 +0100
@@ -1334,20 +1334,27 @@
 
 !CharacterEncoder methodsFor:'stream support'!
 
-readNext:arg1 charactersFrom:arg2 
-    "raise an error: must be redefined in concrete subclass(es)"
-
-    ^ self subclassResponsibility
-
-    "Created: / 16-06-2005 / 11:46:45 / masca"
+readNext:charactersToRead charactersFrom:stream 
+    ^ self decodeString:(stream next:charactersToRead)
 !
 
 readNextCharacterFrom:aStream
-    ^ (self encode:(self readNextInputCharacterFrom:aStream)) asCharacter
+
+    | c |
+
+    c := aStream next.
+
+    ^ c isNil 
+        ifTrue: [nil]
+        ifFalse: [(self decode:c asInteger) asCharacter]
+
+    "Created: / 14-06-2005 / 17:03:21 / janfrog"
+    "Modified: / 15-06-2005 / 15:27:49 / janfrog"
+    "Modified: / 20-06-2005 / 13:13:52 / masca"
 !
 
 readNextInputCharacterFrom:aStream
-    self subclassResponsibility
+    ^ aStream next
 ! !
 
 !CharacterEncoder::CompoundEncoder class methodsFor:'documentation'!
@@ -1585,11 +1592,11 @@
 !CharacterEncoder class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.105 2009-11-04 00:47:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.106 2009-12-11 16:54:00 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.105 2009-11-04 00:47:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.106 2009-12-11 16:54:00 cg Exp $'
 ! !
 
 CharacterEncoder initialize!