1999-07-13 Gary Houston <ghouston@easynet.co.uk>
authorGary Houston <ghouston@arglist.com>
Tue, 13 Jul 1999 11:06:18 +0000 (11:06 +0000)
committerGary Houston <ghouston@arglist.com>
Tue, 13 Jul 1999 11:06:18 +0000 (11:06 +0000)
commit3fe6190f46da0ac53fc7f4af860789cb33bd642e
treecaeec2bbc514de0fb3a07b723f9448da5735fe35
parent4dc7f07fde307969583d8ce92f83960ac00b476d
1999-07-13  Gary Houston  <ghouston@easynet.co.uk>
* strports.c (scm_strprint_obj): simplify.  start with initial
buffer size of 0.
(st_seek): don't allow string to be extended if seeking past
the end of a read-only port.
1999-07-12  Gary Houston  <ghouston@easynet.co.uk>
* strports.c (st_seek): change the resize checks.
* ports.c (scm_ftruncate): throw error if offset works out negative.
* strports.c (st_flush): increase string size in blocks of
SCM_WRITE_BLOCK instead of 1. set read_end to read_pos if
it's greater and reset read_buf_size.
(scm_mkstrport): set rw_randow if only writing, since read_buf needs
to be maintained for output ports too (it holds the written
part of the string, while write_buf may have unwritten buffer
chars.)
(st_truncate): rewritten.
(top of file): added a few notes.
1999-07-06  Gary Houston  <ghouston@easynet.co.uk>
* strports.c (st_grow_port): set pt->read_pos.  set
pt->read_buf_size one less than pt->write_buf_size if there's
an unwritten char at the end of the string.  similarly for
pt->read_end.
(st_resize_port): renamed from st_grow_port.
(st_seek): simplify by assuming that pt->write_pos == pt->read_pos.
seek from read_end instead of write_end for SEEK_END.
(st_ftruncate): calculate current length using readbuf, not write
buf.
(scm_strport_to_string): use read_buf_size for length.
(stfill_buffer): don't re-initialise the readbuf.
1999-07-05  Gary Houston  <ghouston@easynet.co.uk>
* strports.c (scm_strport_to_string): new procedure.
(scm_call_with_output_string, scm_strprint_obj): use
scm_strport_to_string.
used SCM_INUM0 instead of SCM_MAKINUM (0) in a few places.
THANKS
libguile/ChangeLog
libguile/ports.c
libguile/strports.c
libguile/strports.h