guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-core/libguile fports.c


From: Marius Vollmer
Subject: guile/guile-core/libguile fports.c
Date: Thu, 01 Nov 2001 19:09:14 -0500

CVSROOT:        /cvs
Module name:    guile
Changes by:     Marius Vollmer <address@hidden> 01/11/01 19:09:14

Modified files:
        guile-core/libguile: fports.c 

Log message:
        Include `io.h' is possible.  Put `*fp' into referring
        statement block in `scm_fport_buffer_add()'.
        Some corrections in `getflags()'.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/fports.c.diff?cvsroot=OldCVS&tr1=1.104&tr2=1.105&r1=text&r2=text

Patches:
Index: guile/guile-core/libguile/fports.c
diff -u guile/guile-core/libguile/fports.c:1.104 
guile/guile-core/libguile/fports.c:1.105
--- guile/guile-core/libguile/fports.c:1.104    Fri Aug 31 10:42:31 2001
+++ guile/guile-core/libguile/fports.c  Thu Nov  1 19:09:14 2001
@@ -59,6 +59,9 @@
 #else
 size_t fwrite ();
 #endif
+#ifdef HAVE_IO_H
+#include <io.h>
+#endif
 #ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
 #include <sys/stat.h>
 #endif
@@ -86,7 +89,6 @@
 scm_fport_buffer_add (SCM port, long read_size, int write_size)
 #define FUNC_NAME "scm_fport_buffer_add"
 {
-  scm_t_fport *fp = SCM_FSTREAM (port);
   scm_t_port *pt = SCM_PTAB_ENTRY (port);
 
   if (read_size == -1 || write_size == -1)
@@ -94,6 +96,7 @@
       size_t default_size;
 #ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
       struct stat st;
+      scm_t_fport *fp = SCM_FSTREAM (port);
       
       default_size = (fstat (fp->fdes, &st) == -1) ? default_buffer_size
        : st.st_blksize;
@@ -376,13 +379,14 @@
   else
     {
       /* Or an anonymous pipe handle ? */
-      if (buf.st_mode & 0x1000 /* _O_SHORT_LIVED */)
+      if (buf.st_mode & _S_IFIFO)
        flags = O_RDWR;
       /* stdin ? */
-      else if (fdes == 0 && isatty (fdes))
+      else if (fdes == fileno (stdin) && isatty (fdes))
        flags = O_RDONLY;
       /* stdout / stderr ? */
-      else if ((fdes == 1 || fdes == 2) && isatty (fdes))
+      else if ((fdes == fileno (stdout) || fdes == fileno (stderr)) && 
+              isatty (fdes))
        flags = O_WRONLY;
       else
        flags = buf.st_mode;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]