Code

vcs-svn: make buffer_read_binary API more convenient
authorJonathan Nieder <jrnieder@gmail.com>
Mon, 3 Jan 2011 03:37:36 +0000 (21:37 -0600)
committerJonathan Nieder <jrnieder@gmail.com>
Mon, 28 Mar 2011 03:37:05 +0000 (22:37 -0500)
commit896e4bfcec4f6b489aba2197f60a59bc7f45a8ac
tree88fce7c9f5d5a5cac4caab609a3bbd62e8add2f7
parent9d2f5ddfe56fcc228a36dd079f0897e0f474eb4e
vcs-svn: make buffer_read_binary API more convenient

buffer_read_binary is a thin wrapper around fread, but its signature
is wrong:

 - fread can fill an arbitrary in-memory buffer.  buffer_read_binary
   is limited to buffers whose size is representable by a 32-bit
   integer.
 - The result from fread is the number of bytes actually read.
   buffer_read_binary only reports the number of bytes read by
   incrementing sb->len by that amount and returns void.

Fix both: let buffer_read_binary accept a size_t instead of uint32_t
for the number of bytes to read and as a convenience return the number
of bytes actually read.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
vcs-svn/line_buffer.c
vcs-svn/line_buffer.h