[project @ 2005-01-07 22:24:55 by krasimir]
authorkrasimir <unknown>
Fri, 7 Jan 2005 22:24:55 +0000 (22:24 +0000)
committerkrasimir <unknown>
Fri, 7 Jan 2005 22:24:55 +0000 (22:24 +0000)
truncate the file only in WriteMode

GHC/Handle.hs

index 56deea6..f79a2cb 100644 (file)
@@ -819,8 +819,10 @@ openFile' filepath mode binary =
        -- (so we don't need to worry about removing the newly created file
        --  in the event of an error).
 #ifndef mingw32_TARGET_OS
-    throwErrnoIf (/=0) "openFile" 
-       (c_ftruncate (fromIntegral fd) 0)
+    if mode == WriteMode
+      then throwErrnoIf (/=0) "openFile" 
+              (c_ftruncate (fromIntegral fd) 0)
+      else return 0
 #endif
     return h