for-each-ref: use skip_prefix() to avoid duplicate string comparison
PATCH 1/1 for-each-ref: use skip_prefix() to avoid duplicate string comparison
Use skip_prefix() to get the part after "color:" (if present) and only compare it with "reset" instead of comparing the whole string again. This gets rid of the duplicate "color:" part of the string constant.
Signed-off-by Rene Scharfe <[email protected]>
--- builtin/for-each-ref.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
builtin/for-each-ref.c +3 -4
@@ -178,11 +178,10 @@ static const char *find_next(const char *cp)static int verify_format (const char *format) {const char *cp, *sp; -static const char color_reset[] ="color:reset" ; need_color_reset_at_eol =0 ;for (cp = format; *cp && (sp =find_next (cp)); ) { -const char *ep =strchr (sp,')' ); +const char *color, *ep =strchr (sp,')' );int at;if (!ep)
@@ -191,8 +190,8 @@ static int verify_format(const char *format) at =parse_atom (sp +2 , ep); cp = ep +1 ; -if (starts_with (used_atom[at],"color:" )) - need_color_reset_at_eol = !!strcmp (used_atom[at], color_reset); +if (skip_prefix (used_atom[at],"color:" , &color)) + need_color_reset_at_eol = !!strcmp (color,"reset" ); }return 0 ; }
Signature · 1 line
2.3.0