diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2010-12-28 04:26:17 -0600 |
---|---|---|
committer | Jonathan Nieder <jrnieder@gmail.com> | 2011-03-22 16:40:26 -0500 |
commit | 26557fc1b37480d184a32de025b060aa1aa231db (patch) | |
tree | 17f485fb74b51c27aa3910cea1d86e33e33e77cd /vcs-svn/line_buffer.h | |
parent | d234f54b2f82067699f36593188e687fc7dc321a (diff) | |
download | git-26557fc1b37480d184a32de025b060aa1aa231db.tar.gz |
vcs-svn: make buffer_copy_bytes return length read
Currently buffer_copy_bytes does not report to its caller whether
it encountered an early end of file.
Add a return value representing the number of bytes read (but not
the number of bytes copied). This way all three unusual conditions
can be distinguished: input error with buffer_ferror, output error
with ferror(outfile), early end of input by checking the return
value.
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>
Diffstat (limited to 'vcs-svn/line_buffer.h')
-rw-r--r-- | vcs-svn/line_buffer.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/vcs-svn/line_buffer.h b/vcs-svn/line_buffer.h index 7d10f9c751..f5c468afa4 100644 --- a/vcs-svn/line_buffer.h +++ b/vcs-svn/line_buffer.h @@ -26,7 +26,8 @@ char *buffer_read_line(struct line_buffer *buf); char *buffer_read_string(struct line_buffer *buf, uint32_t len); int buffer_read_char(struct line_buffer *buf); void buffer_read_binary(struct line_buffer *buf, struct strbuf *sb, uint32_t len); -void buffer_copy_bytes(struct line_buffer *buf, off_t len); +/* Returns number of bytes read (not necessarily written). */ +off_t buffer_copy_bytes(struct line_buffer *buf, off_t len); off_t buffer_skip_bytes(struct line_buffer *buf, off_t len); #endif |