diff options
author | Patrick Steinhardt <ps@pks.im> | 2020-03-30 15:46:27 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-03-30 10:34:11 -0700 |
commit | bd021f39103fab4c5ae53a4d1a1756f8970d00db (patch) | |
tree | aaa9e1fca96f72bfc63acfe48447ee6df79a881b /strbuf.h | |
parent | git-update-ref.txt: add missing word (diff) | |
download | tgif-bd021f39103fab4c5ae53a4d1a1756f8970d00db.tar.xz |
strbuf: provide function to append whole lines
While the strbuf interface already provides functions to read a line
into it that completely replaces its current contents, we do not have an
interface that allows for appending lines without discarding current
contents.
Add a new function `strbuf_appendwholeline` that reads a line including
its terminating character into a strbuf non-destructively. This is a
preparatory step for git-update-ref(1) reading standard input line-wise
instead of as a block.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'strbuf.h')
-rw-r--r-- | strbuf.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -503,6 +503,12 @@ int strbuf_getline(struct strbuf *sb, FILE *file); int strbuf_getwholeline(struct strbuf *sb, FILE *file, int term); /** + * Like `strbuf_getwholeline`, but appends the line instead of + * resetting the buffer first. + */ +int strbuf_appendwholeline(struct strbuf *sb, FILE *file, int term); + +/** * Like `strbuf_getwholeline`, but operates on a file descriptor. * It reads one character at a time, so it is very slow. Do not * use it unless you need the correct position in the file |