diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2010-10-10 21:41:06 -0500 |
---|---|---|
committer | Jonathan Nieder <jrnieder@gmail.com> | 2011-02-26 04:57:59 -0600 |
commit | e5e45ca1e35482d120a7ce776cf208369edcc459 (patch) | |
tree | bb050fff933928d0d54a66a2afeebab568ee636a /vcs-svn/line_buffer.h | |
parent | d350822fa7d14052713bea0ec62ff1246d8a2f7a (diff) | |
download | git-e5e45ca1e35482d120a7ce776cf208369edcc459.tar.gz |
vcs-svn: teach line_buffer to handle multiple input files
Collect the line_buffer state in a newly public line_buffer struct.
Callers can use multiple line_buffers to manage input from multiple
files at a time.
svn-fe's delta applier will use this to stream a delta from svnrdump
and the preimage it applies to from fast-import at the same time.
The tests don't take advantage of the new features, but I think that's
okay. It is easier to find lingering examples of nonreentrant code by
searching for "static" in line_buffer.c.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Diffstat (limited to 'vcs-svn/line_buffer.h')
-rw-r--r-- | vcs-svn/line_buffer.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/vcs-svn/line_buffer.h b/vcs-svn/line_buffer.h index 4ae1133a92..fb373903d2 100644 --- a/vcs-svn/line_buffer.h +++ b/vcs-svn/line_buffer.h @@ -12,12 +12,12 @@ struct line_buffer { }; #define LINE_BUFFER_INIT {"", STRBUF_INIT, NULL} -int buffer_init(const char *filename); -int buffer_deinit(void); -char *buffer_read_line(void); -char *buffer_read_string(uint32_t len); -void buffer_copy_bytes(uint32_t len); -void buffer_skip_bytes(uint32_t len); -void buffer_reset(void); +int buffer_init(struct line_buffer *buf, const char *filename); +int buffer_deinit(struct line_buffer *buf); +char *buffer_read_line(struct line_buffer *buf); +char *buffer_read_string(struct line_buffer *buf, uint32_t len); +void buffer_copy_bytes(struct line_buffer *buf, uint32_t len); +void buffer_skip_bytes(struct line_buffer *buf, uint32_t len); +void buffer_reset(struct line_buffer *buf); #endif |