Message ID | b27cc95d-8cb8-db49-c2d1-3eb591624000@web.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | utf8: use skip_iprefix() in same_utf_encoding() | expand |
On Fri, Nov 08, 2019 at 09:25:21PM +0100, René Scharfe wrote: > Get rid of magic numbers by using skip_iprefix() and skip_prefix() for > parsing the leading "[uU][tT][fF]-?" of both strings instead of checking > with istarts_with() and an explicit comparison. Yeah, I think the result is much easier to understand. I didn't look closely at it, but the generated asm seems to be slightly shorter, too. -Peff
diff --git a/utf8.c b/utf8.c index 5c8f151f75..5b39361ada 100644 --- a/utf8.c +++ b/utf8.c @@ -411,11 +411,10 @@ void strbuf_utf8_replace(struct strbuf *sb_src, int pos, int width, */ static int same_utf_encoding(const char *src, const char *dst) { - if (istarts_with(src, "utf") && istarts_with(dst, "utf")) { - /* src[3] or dst[3] might be '\0' */ - int i = (src[3] == '-' ? 4 : 3); - int j = (dst[3] == '-' ? 4 : 3); - return !strcasecmp(src+i, dst+j); + if (skip_iprefix(src, "utf", &src) && skip_iprefix(dst, "utf", &dst)) { + skip_prefix(src, "-", &src); + skip_prefix(dst, "-", &dst); + return !strcasecmp(src, dst); } return 0; }
Get rid of magic numbers by using skip_iprefix() and skip_prefix() for parsing the leading "[uU][tT][fF]-?" of both strings instead of checking with istarts_with() and an explicit comparison. Signed-off-by: René Scharfe <l.s.r@web.de> --- utf8.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) -- 2.24.0