Add support for unbuffered and zero sized Guile ports.
authorDoug Evans <xdje42@gmail.com>
Sat, 16 May 2015 19:14:26 +0000 (12:14 -0700)
committerDoug Evans <xdje42@gmail.com>
Sat, 16 May 2015 19:14:26 +0000 (12:14 -0700)
commit37442ce10aaa2f84d245631d38e25ee47e5057aa
treef3ca51f86a4e0a5a4c58b571ea9b49986cff4311
parentd976bace1c68aed43311651c1033c23b3c983094
Add support for unbuffered and zero sized Guile ports.

gdb/ChangeLog

* NEWS: Mention support for unbuffered Guile memory ports.
* scm-ports.c (ioscm_memory_port): Update comments on end, size.
(ioscm_lseek_address): Improve overflow calculation.
(gdbscm_memory_port_fill_input): Add assert.
(gdbscm_memory_port_write): Handle unbuffered ports.
Handle large writes identical to Guile's fport_write.
(gdbscm_memory_port_seek): Fix seeking past end check.
(gdbscm_memory_port_close): Handle closing unbuffered port.
(ioscm_parse_mode_bits): Recognize "0" for unbuffered ports.
(ioscm_init_memory_port): Handle unbuffered ports.
(ioscm_reinit_memory_port): Ditto.
(ioscm_init_memory_port): Update size calculation.
(gdbscm_open_memory): Support zero sized ports.

gdb/testsuite/ChangeLog

* gdb.guile/scm-ports.c: New file.
* gdb.guile/scm-ports.exp: Add memory port tests.

gdb/doc/ChangeLog

* guile.texi (Memory Ports in Guile): Document support for unbuffered
memory ports.
gdb/ChangeLog
gdb/NEWS
gdb/doc/ChangeLog
gdb/doc/guile.texi
gdb/guile/scm-ports.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.guile/scm-ports.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-ports.exp