diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2011-01-02 21:09:38 -0600 |
---|---|---|
committer | Jonathan Nieder <jrnieder@gmail.com> | 2011-02-26 04:59:37 -0600 |
commit | cb3f87cf1ba90373fdc240d65a4d65434099d9a3 (patch) | |
tree | ea9094dc1cf3c5f96df6d6fe56dee306aaddac5f /vcs-svn | |
parent | cc193f1f0b45e4e65f246f1d5e6e8134844aa35b (diff) | |
download | git-cb3f87cf1ba90373fdc240d65a4d65434099d9a3.tar.gz |
vcs-svn: allow input from file descriptor
Based-on-patch-by: David Barr <david.barr@cordelta.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Diffstat (limited to 'vcs-svn')
-rw-r--r-- | vcs-svn/line_buffer.c | 8 | ||||
-rw-r--r-- | vcs-svn/line_buffer.h | 1 | ||||
-rw-r--r-- | vcs-svn/line_buffer.txt | 9 |
3 files changed, 14 insertions, 4 deletions
diff --git a/vcs-svn/line_buffer.c b/vcs-svn/line_buffer.c index 37ec56e5be..e29a81a536 100644 --- a/vcs-svn/line_buffer.c +++ b/vcs-svn/line_buffer.c @@ -17,6 +17,14 @@ int buffer_init(struct line_buffer *buf, const char *filename) return 0; } +int buffer_fdinit(struct line_buffer *buf, int fd) +{ + buf->infile = fdopen(fd, "r"); + if (!buf->infile) + return -1; + return 0; +} + int buffer_deinit(struct line_buffer *buf) { int err; diff --git a/vcs-svn/line_buffer.h b/vcs-svn/line_buffer.h index 0a59c73e8b..630d83c31a 100644 --- a/vcs-svn/line_buffer.h +++ b/vcs-svn/line_buffer.h @@ -13,6 +13,7 @@ struct line_buffer { #define LINE_BUFFER_INIT {"", STRBUF_INIT, NULL} int buffer_init(struct line_buffer *buf, const char *filename); +int buffer_fdinit(struct line_buffer *buf, int fd); 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); diff --git a/vcs-svn/line_buffer.txt b/vcs-svn/line_buffer.txt index f8eaa4dd8c..4e8fb719c1 100644 --- a/vcs-svn/line_buffer.txt +++ b/vcs-svn/line_buffer.txt @@ -27,10 +27,11 @@ resources. Functions --------- -`buffer_init`:: - Open the named file for input. If filename is NULL, - start reading from stdin. On failure, returns -1 (with - errno indicating the nature of the failure). +`buffer_init`, `buffer_fdinit`:: + Open the named file or file descriptor for input. + buffer_init(buf, NULL) prepares to read from stdin. + On failure, returns -1 (with errno indicating the nature + of the failure). `buffer_deinit`:: Stop reading from the current file (closing it unless |