close inStream on unwind
authorClaus Gittinger <cg@exept.de>
Thu, 13 Sep 2001 11:01:07 +0200
changeset 3489 60e6b6ded0b3
parent 3488 b6605e20bfde
child 3490 7a560c566b72
close inStream on unwind
ImageReader.st
--- a/ImageReader.st	Wed Sep 12 19:20:39 2001 +0200
+++ b/ImageReader.st	Thu Sep 13 11:01:07 2001 +0200
@@ -1650,11 +1650,14 @@
 
     inStream := self streamReadingFile:aFileName.
     inStream isNil ifTrue:[
-	'ImageReader [warning]: file open error' errorPrintCR.
-	^ nil
+        'ImageReader [warning]: file open error' errorPrintCR.
+        ^ nil
     ].
-    reader := self new fromStream:inStream.
-    inStream close.
+    [
+        reader := self new fromStream:inStream.
+    ] valueNowOrOnUnwindDo:[
+        inStream close.
+    ].
     ^ reader
 
     "
@@ -2147,5 +2150,5 @@
 !ImageReader class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.74 2001-08-21 09:27:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.75 2001-09-13 09:01:07 cg Exp $'
 ! !