[project @ 2000-04-14 16:19:43 by rrt]
[ghc-hetmet.git] / ghc / lib / std / cbits / setBuffering.c
index 7c77a7b..26bfd24 100644 (file)
@@ -1,7 +1,7 @@
 /* 
  * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998
  *
- * $Id: setBuffering.c,v 1.5 1999/05/05 10:33:16 sof Exp $
+ * $Id: setBuffering.c,v 1.8 2000/04/14 16:19:43 rrt Exp $
  *
  * hSetBuffering Runtime Support
  */
@@ -30,9 +30,7 @@
 #define SB_BB (-2)
 
 StgInt
-setBuffering(ptr, size)
-StgForeignPtr ptr;
-StgInt size;
+setBuffering(StgForeignPtr ptr, StgInt size)
 {
     IOFileObject* fo = (IOFileObject*)ptr;
     int flags, rc=0;
@@ -42,7 +40,7 @@ StgInt size;
    
 
     /* First off, flush old buffer.. */
-    if ( (fo->flags & FILEOBJ_FLUSH) ) {
+    if ( (fo->flags & FILEOBJ_WRITE) ) {
        rc = flushBuffer(ptr);
     }
     if (rc<0) return rc;
@@ -124,9 +122,9 @@ StgInt size;
        fo->buf = malloc(size*sizeof(char));
        if (fo->buf == NULL) {
            return -1;
-       }
-       fo->bufSize = size;
+       }  
     }
+    fo->bufSize = size;
 #ifndef mingw32_TARGET_OS
     if (isaterm) {