diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-01-16 23:52:01 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-01-18 22:52:07 +0100 |
commit | 122f24cc8a3637ed42d7792ad1ff8ec0c49c58df (patch) | |
tree | 80dd5c071fb1342dd78e24d27ea759d03d42e93e /doc/ref/posix.texi | |
parent | 611563fb05c18ca52f780746e9963ca9735e9bac (diff) | |
download | guile-122f24cc8a3637ed42d7792ad1ff8ec0c49c58df.tar.gz |
Prepare 'setvbuf' to support for non-file ports.
* libguile/ports-internal.h (struct scm_port_internal): Add
setvbuf' field. Change 'pending_eof' to a 1-bit unsigned char.
* libguile/ports.c (scm_new_port_table_entry): Clear 'pti->setvbuf'.
* libguile/fports.c (scm_setvbuf): Accept any open port, and error out
when PORT's setvbuf' field is NULL. Remove explicit 'scm_gc_free' calls.
(scm_i_fdes_to_port): Set PORT's 'setvbuf' field.
* test-suite/tests/ports.test ("setvbuf")["closed port", "string port"]:
New tests.
* doc/ref/posix.texi (Ports and File Descriptors): Suggest that
'setvbuf' works for different port types.
Diffstat (limited to 'doc/ref/posix.texi')
-rw-r--r-- | doc/ref/posix.texi | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/doc/ref/posix.texi b/doc/ref/posix.texi index b3a6a048f..56f5c78fc 100644 --- a/doc/ref/posix.texi +++ b/doc/ref/posix.texi @@ -470,6 +470,9 @@ line buffered block buffered, using a newly allocated buffer of @var{size} bytes. If @var{size} is omitted, a default size will be used. @end defvar + +Only certain types of ports are supported, most importantly +file ports. @end deffn @deffn {Scheme Procedure} fcntl port/fd cmd [value] |