summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEitan Adler <eadler@FreeBSD.org>2011-11-22 02:50:24 +0000
committerEitan Adler <eadler@FreeBSD.org>2011-11-22 02:50:24 +0000
commit623b87d8f48e5451898148737ca68cec900fee76 (patch)
treed0183307647305a17d5a3a417440394fcc28d219
parent6854d64811e2aa030038ce29bb4c98df81fe93ef (diff)
Notes
-rw-r--r--lib/libc/string/strcasecmp.c7
-rw-r--r--lib/libc/string/strncmp.c1
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);