diff options
author | kientzle <kientzle@FreeBSD.org> | 2006-11-26 19:00:50 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2006-11-26 19:00:50 +0000 |
commit | 0f8fa3629e664a8cdfd6022cc1840102e3ff8c2c (patch) | |
tree | ebb3f03dd6640df049cc9396f4d753c10aa6ccc4 /lib/libarchive/archive_write_open_memory.c | |
parent | 24b0d3f0fdb86f7a4f9ecc9d9a8d01046094ed63 (diff) | |
download | FreeBSD-src-0f8fa3629e664a8cdfd6022cc1840102e3ff8c2c.zip FreeBSD-src-0f8fa3629e664a8cdfd6022cc1840102e3ff8c2c.tar.gz |
Write-blocking cleanup, largely thanks to Colin Percival (cperciva@).
* If write block size is zero, don't block at all.
This supports the unusual requirement of applications
that need "no-delay" writes.
* Expose _write_finish_entry() to give such applications more
control over write boundaries. (Normal applications do not
need this, as entries are completed automatically.)
* Correct the type of write callbacks; this is a minor API
change that does not affect the ABI.
* Correct the error handling in _write_next_header() around
completing the previous entry.
* Correct the documentation for block-size markers: Remove
docs for the long-defunct _read_set_block_size(); document
all of the write block size manipulators.
MFC after: 14 days
Diffstat (limited to 'lib/libarchive/archive_write_open_memory.c')
-rw-r--r-- | lib/libarchive/archive_write_open_memory.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libarchive/archive_write_open_memory.c b/lib/libarchive/archive_write_open_memory.c index 58baebd..120a79a 100644 --- a/lib/libarchive/archive_write_open_memory.c +++ b/lib/libarchive/archive_write_open_memory.c @@ -54,7 +54,7 @@ struct write_memory_data { static int memory_write_close(struct archive *, void *); static int memory_write_open(struct archive *, void *); -static ssize_t memory_write(struct archive *, void *, void *buff, size_t); +static ssize_t memory_write(struct archive *, void *, const void *buff, size_t); /* * Client provides a pointer to a block of memory to receive @@ -100,7 +100,7 @@ memory_write_open(struct archive *a, void *client_data) * how much has been written into their buffer at any time. */ static ssize_t -memory_write(struct archive *a, void *client_data, void *buff, size_t length) +memory_write(struct archive *a, void *client_data, const void *buff, size_t length) { struct write_memory_data *mine; mine = client_data; |