--- a/ExternalStream.st Sat Jun 24 12:57:35 2000 +0200
+++ b/ExternalStream.st Sun Jun 25 20:37:27 2000 +0200
@@ -5334,48 +5334,62 @@
__INST(lastErrorNumber) = nil;
if (((fp = __INST(filePointer)) != nil)
- && (__INST(mode) != @symbol(readonly))
+ && (__INST(mode) != @symbol(readonly))
) {
- if (__INST(binary) != true) {
- if (__isCharacter(aCharacter)) {
- c = __intVal(__characterVal(aCharacter)) & 0xFF;
+ if (__INST(binary) != true) {
+ if (__isCharacter(aCharacter)) {
+ c = __intVal(__characterVal(aCharacter)) & 0xFF;
doWrite:
- f = __FILEVal(fp);
-
-
- if (_buffered = (__INST(buffered) == true)) {
- __WRITING__(f)
- }
+ f = __FILEVal(fp);
+
+
+ if (_buffered = (__INST(buffered) == true)) {
+ __WRITING__(f)
+ }
#ifdef WIN32
- if ((f == stdout) || (f == stderr)) {
- cnt = fwrite(&c, 1, 1, f);
- } else
+ if ((f == stdout) || (f == stderr)) {
+ cnt = fwrite(&c, 1, 1, f);
+ } else
#endif
- {
- __WRITEBYTE__(cnt, f, &c, _buffered);
- }
- if (cnt == 1) {
- pos = __INST(position);
- if (pos != nil) {
- __INST(position) = __MKSMALLINT(__intVal(pos) + 1);
- }
- RETURN ( self );
- }
- __INST(lastErrorNumber) = __MKSMALLINT(__threadErrno);
- }
- } else {
- if (__isSmallInteger(aCharacter)) {
- c = __intVal(aCharacter);
- goto doWrite;
- }
- }
+ {
+ __WRITEBYTE__(cnt, f, &c, _buffered);
+ }
+ if (cnt == 1) {
+ pos = __INST(position);
+ if (pos != nil) {
+ __INST(position) = __MKSMALLINT(__intVal(pos) + 1);
+ }
+ RETURN ( self );
+ }
+ __INST(lastErrorNumber) = __MKSMALLINT(__threadErrno);
+ }
+ } else {
+ if (__isSmallInteger(aCharacter)) {
+ c = __intVal(aCharacter);
+ goto doWrite;
+ }
+ }
}
%}.
lastErrorNumber notNil ifTrue:[self writeError. ^ self].
filePointer isNil ifTrue:[self errorNotOpen. ^ self].
(mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
- binary ifFalse:[self argumentMustBeCharacter. ^ self].
- self argumentMustBeInteger.
+ binary == true ifFalse:[
+ aCharacter isCharacter ifFalse:[
+ self argumentMustBeCharacter.
+ ^ self.
+ ]
+ ] ifTrue:[
+ aCharacter isInteger ifFalse:[
+ self argumentMustBeInteger.
+ ^ self.
+ ].
+ ].
+ "/ migration support
+ self
+ nextPutByte:aCharacter asInteger
+ toFile:filePointer
+
!
nextPutAll:aCollection
@@ -5542,11 +5556,19 @@
%}.
lastErrorNumber notNil ifTrue:[^ self writeError].
^ super nextPutAll:aCollection startingAt:start to:stop
+!
+
+nextPutByte:aByte toFile:filePointer
+ "for migration to rel5 only"
+
+ self primitiveFailed
+
+
! !
!ExternalStream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.212 2000-06-24 10:45:06 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.213 2000-06-25 18:37:27 cg Exp $'
! !
ExternalStream initialize!