On Tue, Aug 14, 2018 at 09:30:57PM +0200, René Scharfe wrote:
> > -static void batch_object_write(const char *obj_name, struct batch_options
> > *opt,
> > +static void batch_object_write(const char *obj_name,
> > + struct strbuf *scratch,
> > + struct batch_options *opt,
> > struct expand_data *data)
> > {
> > - struct strbuf buf = STRBUF_INIT;
>
> We could also avoid passing that buffer around by making it static. I
> shy away from adding static variables because the resulting code won't
> be thread-safe, but that fear might be irrational, especially with
> cat-file.
True, I didn't even think of that after your original got me in the
mindset of passing the buffer down. It's not too bad to do it this way,
and I agree with you that we are better avoiding static variables if we
can. Five years ago I might have said the opposite, but we've cleaned up
a lot of confusing hidden-static bits in that time. Let's not go in the
opposite direction. :)
-Peff