Subject: Re: [PATCH v10 02/13] ref-filter: print output to strbuf for formatting

From: Junio C Hamano <[email-masked]>
Date: Tue, 11 Aug 2015 10:56:29 -0700

Karthik Nayak <[email-masked]> writes:

> -static void print_value(struct atom_value *v, int quote_style)
> +static void format_quote_value(struct atom_value *v, int quote_style, struct strbuf *output)
>  {

Hmph...

> -static void emit(const char *cp, const char *ep)
> +static void append_non_atom(const char *cp, const char *ep, struct strbuf *output)

I was tempted to suggest s/non_atom/literal/, but this would do for now...

> @@ -1262,19 +1257,20 @@ static void emit(const char *cp, const char *ep)
>  void show_ref_array_item(struct ref_array_item *info, const char *format, int quote_style)
>  {
>  	const char *cp, *sp, *ep;
> +	struct strbuf output = STRBUF_INIT;
>  
>  	for (cp = format; *cp && (sp = find_next(cp)); cp = ep + 1) {
>  		struct atom_value *atomv;
>  
>  		ep = strchr(sp, ')');
>  		if (cp < sp)
> -			emit(cp, sp);
> +			append_non_atom(cp, sp, &output);
>  		get_ref_atom_value(info, parse_ref_filter_atom(sp + 2, ep), &atomv);
> -		print_value(atomv, quote_style);
> +		format_quote_value(atomv, quote_style, &output);

If the one to add a literal string (with %hex escaping) is called "append_",
then this should be called append_quoted_atom() or something, no?