aboutsummaryrefslogtreecommitdiffstats
path: root/streaming.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-05-20 14:33:31 -0700
committerJunio C Hamano <gitster@pobox.com>2011-05-26 16:47:15 -0700
commitb6691092d707860019bbab80eaaf9173ada10586 (patch)
treeb9e7e80502085bb9237a4d1726afb38a36fb5ba8 /streaming.h
parentd1bf0e08313927c269846476f99f59d878807371 (diff)
downloadgit-b6691092d707860019bbab80eaaf9173ada10586.tar.gz
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.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/streaming.h b/streaming.h
index 18cbe68ac1..589e857b8c 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);