diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-05-20 14:33:31 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-05-26 16:47:15 -0700 |
commit | b6691092d707860019bbab80eaaf9173ada10586 (patch) | |
tree | b9e7e80502085bb9237a4d1726afb38a36fb5ba8 /streaming.h | |
parent | d1bf0e08313927c269846476f99f59d878807371 (diff) | |
download | git-b6691092d707860019bbab80eaaf9173ada10586.tar.gz git-b6691092d707860019bbab80eaaf9173ada10586.tar.xz |
Add streaming filter API
This introduces an API to plug custom filters to an input stream.
The caller gets get_stream_filter("path") to obtain an appropriate
filter for the path, and then uses it when opening an input stream
via open_istream(). After that, the caller can read from the stream
with read_istream(), and close it with close_istream(), just like an
unfiltered stream.
This only adds a "null" filter that is a pass-thru filter, but later
changes can add LF-to-CRLF and other filters, and the callers of the
streaming API do not have to change.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'streaming.h')
-rw-r--r-- | streaming.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/streaming.h b/streaming.h index 18cbe68ac..589e857b8 100644 --- a/streaming.h +++ b/streaming.h @@ -8,7 +8,7 @@ /* opaque */ struct git_istream; -extern struct git_istream *open_istream(const unsigned char *, enum object_type *, unsigned long *); +extern struct git_istream *open_istream(const unsigned char *, enum object_type *, unsigned long *, struct stream_filter *); extern int close_istream(struct git_istream *); extern ssize_t read_istream(struct git_istream *, char *, size_t); |