In case the length of the buffer is zero, we do not need to call the fwrite system call as a performance improvement.
Signed-off-by: Stefan Beller <sbeller@google.com> ---
This applies on top of v17 for origin/sb/submodule-parallel-update. In case there are other reasons for origin/sb/submodule-parallel-update to need a reroll I'll squash it in. But as this is a pure performance optimization in a case we are not running into with that series and that series is clashing with Davids refs backend series, I figure we may not want to have a reroll for this fix alone. Thanks, Stefan
strbuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to strbuf.c +1 −1
diff --git a/strbuf.c b/strbuf.c index 71345cd..5f6da82 100644 --- a/strbuf.c +++ b/strbuf.c @@ -397,7 +397,7 @@ ssize_t strbuf_read_once(struct strbuf *sb, int fd, size_t hint) ssize_t strbuf_write(struct strbuf *sb, FILE *f) { - return fwrite(sb->buf, 1, sb->len, f); + return sb->len ? fwrite(sb->buf, 1, sb->len, f) : 0; }
-- 2.7.2.374.ga5f0819.dirty