diff options
author | Eitan Adler <eadler@FreeBSD.org> | 2011-11-22 02:50:24 +0000 |
---|---|---|
committer | Eitan Adler <eadler@FreeBSD.org> | 2011-11-22 02:50:24 +0000 |
commit | 623b87d8f48e5451898148737ca68cec900fee76 (patch) | |
tree | d0183307647305a17d5a3a417440394fcc28d219 | |
parent | 6854d64811e2aa030038ce29bb4c98df81fe93ef (diff) |
Notes
-rw-r--r-- | lib/libc/string/strcasecmp.c | 7 | ||||
-rw-r--r-- | lib/libc/string/strncmp.c | 1 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/libc/string/strcasecmp.c b/lib/libc/string/strcasecmp.c index dae91d36b2e22..582399d7c77d3 100644 --- a/lib/libc/string/strcasecmp.c +++ b/lib/libc/string/strcasecmp.c @@ -49,7 +49,7 @@ strcasecmp_l(const char *s1, const char *s2, locale_t locale) *us1 = (const u_char *)s1, *us2 = (const u_char *)s2; if (s1 == s2) - return (0); + return (0); FIX_LOCALE(locale); @@ -73,8 +73,9 @@ strncasecmp_l(const char *s1, const char *s2, size_t n, locale_t locale) *us1 = (const u_char *)s1, *us2 = (const u_char *)s2; - if (( s1 == s2) | (n == 0)) - return (0); + /* use a bitwise or to avoid an additional branch instruction */ + if ((s1 == s2) | (n == 0)) + return (0); do { diff --git a/lib/libc/string/strncmp.c b/lib/libc/string/strncmp.c index 46db3f9e5a0ba..8da2c434ad625 100644 --- a/lib/libc/string/strncmp.c +++ b/lib/libc/string/strncmp.c @@ -39,6 +39,7 @@ int strncmp(const char *s1, const char *s2, size_t n) { + /* use a bitwise or to avoid an additional branch instruction */ if ((n == 0) | (s1 == s2)) return (0); |