Hi,

Below is a patch that fixes `setvbuf'.

Thanks,
Ludovic.


2006-04-03  Ludovic Courtès  <[EMAIL PROTECTED]>

        * libguile/fports.c (scm_setvbuf): When CMODE is not `_IOLBF',
        really clear the `SCM_BUFLINE' bit instead of toggling it.


--- orig/libguile/fports.c
+++ mod/libguile/fports.c
@@ -155,7 +155,9 @@
     }
   else
     {
-      SCM_SET_CELL_WORD_0 (port, SCM_CELL_WORD_0 (port) ^ SCM_BUFLINE);
+      if (SCM_CELL_WORD_0 (port) & SCM_BUFLINE)
+       /* Clear the ``line-buffered'' bit.  */
+       SCM_SET_CELL_WORD_0 (port, SCM_CELL_WORD_0 (port) ^ SCM_BUFLINE);
     }
 
   if (SCM_UNBNDP (size))





_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel

Reply via email to