for-each-ref, quote: convert *_quote_print -> *_quote_buf
The print_value() function in for-each-ref.c prints values to stdout immediately using {sq|perl|python|tcl}_quote_print(). Change these lower-level quote functions to instead leave their results in strbuf so that we can later add post-processing to the results of them. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
8f6a3e5d71
commit
10d0167fef
@ -867,24 +867,29 @@ static void sort_refs(struct ref_sort *sort, struct refinfo **refs, int num_refs
|
||||
static void print_value(struct refinfo *ref, int atom, int quote_style)
|
||||
{
|
||||
struct atom_value *v;
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
get_value(ref, atom, &v);
|
||||
switch (quote_style) {
|
||||
case QUOTE_NONE:
|
||||
fputs(v->s, stdout);
|
||||
break;
|
||||
case QUOTE_SHELL:
|
||||
sq_quote_print(stdout, v->s);
|
||||
sq_quote_buf(&sb, v->s);
|
||||
break;
|
||||
case QUOTE_PERL:
|
||||
perl_quote_print(stdout, v->s);
|
||||
perl_quote_buf(&sb, v->s);
|
||||
break;
|
||||
case QUOTE_PYTHON:
|
||||
python_quote_print(stdout, v->s);
|
||||
python_quote_buf(&sb, v->s);
|
||||
break;
|
||||
case QUOTE_TCL:
|
||||
tcl_quote_print(stdout, v->s);
|
||||
tcl_quote_buf(&sb, v->s);
|
||||
break;
|
||||
}
|
||||
if (quote_style != QUOTE_NONE) {
|
||||
fputs(sb.buf, stdout);
|
||||
strbuf_release(&sb);
|
||||
}
|
||||
}
|
||||
|
||||
static int hex1(char ch)
|
||||
|
Reference in New Issue
Block a user