rel5 migration
authorClaus Gittinger <cg@exept.de>
Thu, 03 Aug 2000 01:10:29 +0200
changeset 5494 35f624eaf060
parent 5493 4efa5b89498b
child 5495 d42dbc9ac39d
rel5 migration
ExternalStream.st
--- a/ExternalStream.st	Thu Aug 03 01:07:04 2000 +0200
+++ b/ExternalStream.st	Thu Aug 03 01:10:29 2000 +0200
@@ -2265,26 +2265,47 @@
 closeFile
     "low level close - may be redefined in subclasses"
 
+    |fp|
+
 %{
-    OBJ fp;
-
     if ((fp = __INST(filePointer)) != nil) {
-	FILEPOINTER f;
-
-	__INST(filePointer) = nil;
-	f = __FILEVal(fp);
-	if (@global(ExternalStream:FileOpenTrace) == true) {
-	    fprintf(stderr, "fclose [ExternalStream] %x\n", f);
-	}
-	__BEGIN_INTERRUPTABLE__
+        FILEPOINTER f;
+
+        __INST(filePointer) = nil;
+        f = __FILEVal(fp);
+        if (@global(ExternalStream:FileOpenTrace) == true) {
+            fprintf(stderr, "fclose [ExternalStream] %x\n", f);
+        }
+        __BEGIN_INTERRUPTABLE__
 #ifdef WIN32
-	__STX_C_CALL1((void*)fclose, (void*)f);
+        __STX_C_CALL1((void*)fclose, (void*)f);
 #else
-	fclose(f);
+        fclose(f);
 #endif
-	__END_INTERRUPTABLE__
+        __END_INTERRUPTABLE__
     }
-%}
+    RETURN (self);
+%}.
+    "/ fallback for rel5
+
+    fp := filePointer.
+    fp notNil ifTrue:[
+        filePointer := nil.
+        self closeFile:fp
+    ]
+!
+
+closeFile:filePointer
+    "for rel5 only"
+
+    self primitiveFailed
+
+
+
+
+
+
+
 !
 
 disposed
@@ -5619,6 +5640,6 @@
 !ExternalStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.218 2000-07-03 13:07:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ExternalStream.st,v 1.219 2000-08-02 23:10:29 cg Exp $'
 ! !
 ExternalStream initialize!