diff options
author | Jeff King <peff@peff.net> | 2011-06-09 11:54:58 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-06-22 11:24:51 -0700 |
commit | 2f1d9e2b93e1b7fbfcfa59331db89dd6c76a3505 (patch) | |
tree | e94c085b9536fa2d196c546482b9c80dfee6fb0b /strbuf.h | |
parent | c5d6350bdc8d0d8bd4bd1aa0273313e71cd548f6 (diff) | |
download | git-2f1d9e2b93e1b7fbfcfa59331db89dd6c76a3505.tar.gz |
strbuf: allow strbuf_split to work on non-strbufs
The strbuf_split function takes a strbuf as input, and
outputs a list of strbufs. However, there is no reason that
the input has to be a strbuf, and not an arbitrary buffer.
This patch adds strbuf_split_buf for a length-delimited
buffer, and strbuf_split_str for NUL-terminated strings.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'strbuf.h')
-rw-r--r-- | strbuf.h | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -47,8 +47,18 @@ extern void strbuf_rtrim(struct strbuf *); extern void strbuf_ltrim(struct strbuf *); extern int strbuf_cmp(const struct strbuf *, const struct strbuf *); -extern struct strbuf **strbuf_split_max(const struct strbuf *, +extern struct strbuf **strbuf_split_buf(const char *, size_t, int delim, int max); +static inline struct strbuf **strbuf_split_str(const char *str, + int delim, int max) +{ + return strbuf_split_buf(str, strlen(str), delim, max); +} +static inline struct strbuf **strbuf_split_max(const struct strbuf *sb, + int delim, int max) +{ + return strbuf_split_buf(sb->buf, sb->len, delim, max); +} static inline struct strbuf **strbuf_split(const struct strbuf *sb, int delim) { return strbuf_split_max(sb, delim, 0); |