Re: [PATCH 4/7] diff.c: Output the text graph padding before each diff line.
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- May 17, 2010, 06:52 UTC
- Message-ID
- <201005170852.31546.trast@student.ethz.ch>
- In-Reply-To
- <1273921331-32702-5-git-send-email-struggleyb.nku@gmail.com>
Bo Yang wrote:
Show 15 quoted lines
> diff --git a/diff.c b/diff.c
> index 9bd9063..4a10d16 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -487,6 +487,13 @@ static void emit_rewrite_diff(const char *name_a,
> char *data_one, *data_two;
> size_t size_one, size_two;
> struct emit_callback ecbdata;
> + char *line_prefix = "";
> + struct strbuf *msgbuf;
> +
> + if (o && o->output_prefix) {
> + msgbuf = o->output_prefix(o->file, 0, o->output_prefix_data);
> + line_prefix = msgbuf->buf;
> + }Umm. This snippet of code means that the callback can't to much except return or print a string depending on the value of the second argument, doesn't it?
So why not either make it explicit and just put a char* field there, or make a more generic callback that replaces write() (or so) and gets a chance to mangle the output in any way it likes?
--
Thomas Rast
trast@{inf,student}.ethz.ch