[Top][All Lists]
[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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- guile/guile-core/libguile fports.c,
Marius Vollmer <=