return codes in error cases
authorClaus Gittinger <cg@exept.de>
Thu, 30 Jan 1997 17:40:48 +0100
changeset 2331 d6ddf452adc9
parent 2330 6f501907d079
child 2332 45a3590d727d
return codes in error cases
ExtStream.st
ExternalStream.st
--- a/ExtStream.st	Thu Jan 30 17:09:49 1997 +0100
+++ b/ExtStream.st	Thu Jan 30 17:40:48 1997 +0100
@@ -1175,10 +1175,10 @@
 
     |srcFilePointer readError|
 
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
     srcFilePointer := aStream filePointer.
-    srcFilePointer isNil ifTrue:[^ aStream errorNotOpen].
+    srcFilePointer isNil ifTrue:[aStream errorNotOpen. ^ self].
 
 %{  /* STACK:2000 */
 
@@ -1237,14 +1237,15 @@
 %}.
     readError ifTrue:[
 	aStream setLastErrorNumber:readError.
-	^ aStream readError
+	aStream readError.
+	^ self
     ].
-    lastErrorNumber notNil ifTrue:[^ self writeError].
-    buffered ifFalse:[^ self errorNotBuffered].
+    lastErrorNumber notNil ifTrue:[self writeError. ^ self].
+    buffered ifFalse:[self errorNotBuffered. ^ self].
     "
      argument error
     "
-    ^ self primitiveFailed
+    self primitiveFailed
 !
 
 peekForLineStartingWith:aString
@@ -1558,9 +1559,9 @@
     }
 #endif
 %}.
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
-    ^ self errorUnsupportedOperation
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
+    self errorUnsupportedOperation
 
     "
      |s|
@@ -2039,9 +2040,9 @@
 	__INST(lastErrorNumber) = __MKSMALLINT(errno);
     }
 %}.
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
-    ^ self writeError.
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
+    self writeError.
 !
 
 nextPutBytes:count from:anObject
@@ -2180,19 +2181,12 @@
 	__INST(lastErrorNumber) = __MKSMALLINT(errno);
     }
 %}.
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
-    lastErrorNumber notNil ifTrue:[^ self writeError].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
+    lastErrorNumber notNil ifTrue:[self writeError. ^ self].
 
     aNumber isInteger ifTrue:[
-	msbFlag ifTrue:[
-	    "high word first"
-	    (self nextPutShort:(aNumber // 16r10000) MSB:true) isNil ifTrue:[^ nil].
-	    ^ self nextPutShort:(aNumber \\ 16r10000) MSB:true
-	].
-	"low word first"
-	(self nextPutShort:(aNumber \\ 16r10000) MSB:false) isNil ifTrue:[^ nil].
-	^ self nextPutShort:(aNumber // 16r10000) MSB:false.
+	^ super nextPutLong:aNumber MSB:msbFlag
     ].
     self argumentMustBeInteger
 !
@@ -2239,9 +2233,9 @@
 	__INST(lastErrorNumber) = __MKSMALLINT(errno);
     }
 %}.
-    lastErrorNumber notNil ifTrue:[^ self writeError].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
+    lastErrorNumber notNil ifTrue:[^ self writeError. ^ self].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
     self argumentMustBeInteger
 ! !
 
@@ -2384,7 +2378,7 @@
     hitEOF ifTrue:[^ self pastEnd].
     lastErrorNumber notNil ifTrue:[^ self readError].
     filePointer isNil ifTrue:[^ self errorNotOpen].
-    self errorWriteOnly
+    ^ self errorWriteOnly
 !
 
 next:count
@@ -2913,10 +2907,10 @@
     }
 %}.
     hitEOF ifTrue:[^ self pastEnd].
-    lastErrorNumber notNil ifTrue:[^ self readError].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    binary ifTrue:[^ self errorBinary].
-    ^ self errorWriteOnly
+    lastErrorNumber notNil ifTrue:[self readError. ^ self].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    binary ifTrue:[self errorBinary. ^ self].
+    self errorWriteOnly
 !
 
 skipSeparators
@@ -3081,14 +3075,14 @@
 badArgument: ;
 %}.
     hitEOF ifTrue:[^ self pastEnd].
-    lastErrorNumber notNil ifTrue:[^ self readError].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #writeonly) ifTrue:[^ self errorWriteOnly].
+    lastErrorNumber notNil ifTrue:[self readError. ^ self].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #writeonly) ifTrue:[self errorWriteOnly. ^ self].
     "
      argument must be integer/character in binary mode, 
      character in text mode
     "
-    ^ self error:'invalid argument'.
+    self error:'invalid argument'.
 
     "
      |s|
@@ -3364,28 +3358,28 @@
 
     __INST(lastErrorNumber) = nil;
     if (((fp = __INST(filePointer)) != nil)
-        && (__INST(mode) != @symbol(readonly))
-        && (__INST(binary) != true)
+	&& (__INST(mode) != @symbol(readonly))
+	&& (__INST(binary) != true)
     ) {
-        f = __FILEVal(fp);
-
-        if (_buffered = (__INST(buffered) == true)) { 
-            __WRITING__(f)
-        }
-        if (__INST(useCRLF) == true) {
-            cp = "\r\n"; len = 2;
-        } else {
-            cp = "\n"; len = 1;
-        }
-        __WRITEBYTES__(cnt, f, cp, len, _buffered);
-
-        if (cnt == len) {
-            if (__INST(position) != nil) {
-                __INST(position) = __MKSMALLINT(__intVal(__INST(position)) + len);
-            }
-            RETURN ( self );
-        }
-        __INST(lastErrorNumber) = __MKSMALLINT(errno);
+	f = __FILEVal(fp);
+
+	if (_buffered = (__INST(buffered) == true)) { 
+	    __WRITING__(f)
+	}
+	if (__INST(useCRLF) == true) {
+	    cp = "\r\n"; len = 2;
+	} else {
+	    cp = "\n"; len = 1;
+	}
+	__WRITEBYTES__(cnt, f, cp, len, _buffered);
+
+	if (cnt == len) {
+	    if (__INST(position) != nil) {
+		__INST(position) = __MKSMALLINT(__intVal(__INST(position)) + len);
+	    }
+	    RETURN ( self );
+	}
+	__INST(lastErrorNumber) = __MKSMALLINT(errno);
     }
 %}.
     lastErrorNumber notNil ifTrue:[self writeError. ^ self].
@@ -3456,11 +3450,11 @@
 	}
     }
 %}.
-    lastErrorNumber notNil ifTrue:[^ self writeError].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
-    binary ifFalse:[^ self argumentMustBeCharacter].
-    ^ self argumentMustBeInteger.
+    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.
 !
 
 nextPutAll:aCollection
@@ -3513,9 +3507,9 @@
     }
 out: ;
 %}.
-    lastErrorNumber notNil ifTrue:[^ self writeError].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
+    lastErrorNumber notNil ifTrue:[self writeError. ^ self].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
 
     ^ super nextPutAll:aCollection
 !
@@ -3595,6 +3589,6 @@
 !ExternalStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.123 1997-01-30 12:05:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/ExtStream.st,v 1.124 1997-01-30 16:40:48 cg Exp $'
 ! !
 ExternalStream initialize!
--- a/ExternalStream.st	Thu Jan 30 17:09:49 1997 +0100
+++ b/ExternalStream.st	Thu Jan 30 17:40:48 1997 +0100
@@ -1175,10 +1175,10 @@
 
     |srcFilePointer readError|
 
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
     srcFilePointer := aStream filePointer.
-    srcFilePointer isNil ifTrue:[^ aStream errorNotOpen].
+    srcFilePointer isNil ifTrue:[aStream errorNotOpen. ^ self].
 
 %{  /* STACK:2000 */
 
@@ -1237,14 +1237,15 @@
 %}.
     readError ifTrue:[
 	aStream setLastErrorNumber:readError.
-	^ aStream readError
+	aStream readError.
+	^ self
     ].
-    lastErrorNumber notNil ifTrue:[^ self writeError].
-    buffered ifFalse:[^ self errorNotBuffered].
+    lastErrorNumber notNil ifTrue:[self writeError. ^ self].
+    buffered ifFalse:[self errorNotBuffered. ^ self].
     "
      argument error
     "
-    ^ self primitiveFailed
+    self primitiveFailed
 !
 
 peekForLineStartingWith:aString
@@ -1558,9 +1559,9 @@
     }
 #endif
 %}.
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
-    ^ self errorUnsupportedOperation
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
+    self errorUnsupportedOperation
 
     "
      |s|
@@ -2039,9 +2040,9 @@
 	__INST(lastErrorNumber) = __MKSMALLINT(errno);
     }
 %}.
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
-    ^ self writeError.
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
+    self writeError.
 !
 
 nextPutBytes:count from:anObject
@@ -2180,19 +2181,12 @@
 	__INST(lastErrorNumber) = __MKSMALLINT(errno);
     }
 %}.
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
-    lastErrorNumber notNil ifTrue:[^ self writeError].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
+    lastErrorNumber notNil ifTrue:[self writeError. ^ self].
 
     aNumber isInteger ifTrue:[
-	msbFlag ifTrue:[
-	    "high word first"
-	    (self nextPutShort:(aNumber // 16r10000) MSB:true) isNil ifTrue:[^ nil].
-	    ^ self nextPutShort:(aNumber \\ 16r10000) MSB:true
-	].
-	"low word first"
-	(self nextPutShort:(aNumber \\ 16r10000) MSB:false) isNil ifTrue:[^ nil].
-	^ self nextPutShort:(aNumber // 16r10000) MSB:false.
+	^ super nextPutLong:aNumber MSB:msbFlag
     ].
     self argumentMustBeInteger
 !
@@ -2239,9 +2233,9 @@
 	__INST(lastErrorNumber) = __MKSMALLINT(errno);
     }
 %}.
-    lastErrorNumber notNil ifTrue:[^ self writeError].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
+    lastErrorNumber notNil ifTrue:[^ self writeError. ^ self].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
     self argumentMustBeInteger
 ! !
 
@@ -2384,7 +2378,7 @@
     hitEOF ifTrue:[^ self pastEnd].
     lastErrorNumber notNil ifTrue:[^ self readError].
     filePointer isNil ifTrue:[^ self errorNotOpen].
-    self errorWriteOnly
+    ^ self errorWriteOnly
 !
 
 next:count
@@ -2913,10 +2907,10 @@
     }
 %}.
     hitEOF ifTrue:[^ self pastEnd].
-    lastErrorNumber notNil ifTrue:[^ self readError].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    binary ifTrue:[^ self errorBinary].
-    ^ self errorWriteOnly
+    lastErrorNumber notNil ifTrue:[self readError. ^ self].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    binary ifTrue:[self errorBinary. ^ self].
+    self errorWriteOnly
 !
 
 skipSeparators
@@ -3081,14 +3075,14 @@
 badArgument: ;
 %}.
     hitEOF ifTrue:[^ self pastEnd].
-    lastErrorNumber notNil ifTrue:[^ self readError].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #writeonly) ifTrue:[^ self errorWriteOnly].
+    lastErrorNumber notNil ifTrue:[self readError. ^ self].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #writeonly) ifTrue:[self errorWriteOnly. ^ self].
     "
      argument must be integer/character in binary mode, 
      character in text mode
     "
-    ^ self error:'invalid argument'.
+    self error:'invalid argument'.
 
     "
      |s|
@@ -3364,28 +3358,28 @@
 
     __INST(lastErrorNumber) = nil;
     if (((fp = __INST(filePointer)) != nil)
-        && (__INST(mode) != @symbol(readonly))
-        && (__INST(binary) != true)
+	&& (__INST(mode) != @symbol(readonly))
+	&& (__INST(binary) != true)
     ) {
-        f = __FILEVal(fp);
-
-        if (_buffered = (__INST(buffered) == true)) { 
-            __WRITING__(f)
-        }
-        if (__INST(useCRLF) == true) {
-            cp = "\r\n"; len = 2;
-        } else {
-            cp = "\n"; len = 1;
-        }
-        __WRITEBYTES__(cnt, f, cp, len, _buffered);
-
-        if (cnt == len) {
-            if (__INST(position) != nil) {
-                __INST(position) = __MKSMALLINT(__intVal(__INST(position)) + len);
-            }
-            RETURN ( self );
-        }
-        __INST(lastErrorNumber) = __MKSMALLINT(errno);
+	f = __FILEVal(fp);
+
+	if (_buffered = (__INST(buffered) == true)) { 
+	    __WRITING__(f)
+	}
+	if (__INST(useCRLF) == true) {
+	    cp = "\r\n"; len = 2;
+	} else {
+	    cp = "\n"; len = 1;
+	}
+	__WRITEBYTES__(cnt, f, cp, len, _buffered);
+
+	if (cnt == len) {
+	    if (__INST(position) != nil) {
+		__INST(position) = __MKSMALLINT(__intVal(__INST(position)) + len);
+	    }
+	    RETURN ( self );
+	}
+	__INST(lastErrorNumber) = __MKSMALLINT(errno);
     }
 %}.
     lastErrorNumber notNil ifTrue:[self writeError. ^ self].
@@ -3456,11 +3450,11 @@
 	}
     }
 %}.
-    lastErrorNumber notNil ifTrue:[^ self writeError].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
-    binary ifFalse:[^ self argumentMustBeCharacter].
-    ^ self argumentMustBeInteger.
+    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.
 !
 
 nextPutAll:aCollection
@@ -3513,9 +3507,9 @@
     }
 out: ;
 %}.
-    lastErrorNumber notNil ifTrue:[^ self writeError].
-    filePointer isNil ifTrue:[^ self errorNotOpen].
-    (mode == #readonly) ifTrue:[^ self errorReadOnly].
+    lastErrorNumber notNil ifTrue:[self writeError. ^ self].
+    filePointer isNil ifTrue:[self errorNotOpen. ^ self].
+    (mode == #readonly) ifTrue:[self errorReadOnly. ^ self].
 
     ^ super nextPutAll:aCollection
 !
@@ -3595,6 +3589,6 @@
 !ExternalStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.123 1997-01-30 12:05:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.124 1997-01-30 16:40:48 cg Exp $'
 ! !
 ExternalStream initialize!