summaryrefslogtreecommitdiff
path: root/src/lib/libc/string/strcasecmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc/string/strcasecmp.c')
-rw-r--r--src/lib/libc/string/strcasecmp.c42
1 files changed, 20 insertions, 22 deletions
diff --git a/src/lib/libc/string/strcasecmp.c b/src/lib/libc/string/strcasecmp.c
index 79bd0081e3..62da063444 100644
--- a/src/lib/libc/string/strcasecmp.c
+++ b/src/lib/libc/string/strcasecmp.c
@@ -1,6 +1,8 @@
1/* $OpenBSD: strcasecmp.c,v 1.5 2003/06/11 21:08:16 deraadt Exp $ */
2
1/* 3/*
2 * Copyright (c) 1987 Regents of the University of California. 4 * Copyright (c) 1987, 1993
3 * All rights reserved. 5 * The Regents of the University of California. All rights reserved.
4 * 6 *
5 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
@@ -10,11 +12,7 @@
10 * 2. Redistributions in binary form must reproduce the above copyright 12 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the 13 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution. 14 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software 15 * 3. Neither the name of the University nor the names of its contributors
14 * must display the following acknowledgement:
15 * This product includes software developed by the University of
16 * California, Berkeley and its contributors.
17 * 4. Neither the name of the University nor the names of its contributors
18 * may be used to endorse or promote products derived from this software 16 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission. 17 * without specific prior written permission.
20 * 18 *
@@ -31,13 +29,16 @@
31 * SUCH DAMAGE. 29 * SUCH DAMAGE.
32 */ 30 */
33 31
32#include <string.h>
33
34#if defined(LIBC_SCCS) && !defined(lint) 34#if defined(LIBC_SCCS) && !defined(lint)
35/*static const char sccsid[] = "from: @(#)strcasecmp.c 5.10 (Berkeley) 1/26/91";*/ 35#if 0
36static char *rcsid = "$Id: strcasecmp.c,v 1.1.1.1 1995/10/18 08:42:21 deraadt Exp $"; 36static char sccsid[] = "@(#)strcasecmp.c 8.1 (Berkeley) 6/4/93";
37#else
38static char *rcsid = "$OpenBSD: strcasecmp.c,v 1.5 2003/06/11 21:08:16 deraadt Exp $";
39#endif
37#endif /* LIBC_SCCS and not lint */ 40#endif /* LIBC_SCCS and not lint */
38 41
39#include <string.h>
40
41typedef unsigned char u_char; 42typedef unsigned char u_char;
42 43
43/* 44/*
@@ -81,12 +82,11 @@ static const u_char charmap[] = {
81}; 82};
82 83
83int 84int
84strcasecmp(s1, s2) 85strcasecmp(const char *s1, const char *s2)
85 const char *s1, *s2;
86{ 86{
87 register const u_char *cm = charmap, 87 const u_char *cm = charmap;
88 *us1 = (const u_char *)s1, 88 const u_char *us1 = (const u_char *)s1;
89 *us2 = (const u_char *)s2; 89 const u_char *us2 = (const u_char *)s2;
90 90
91 while (cm[*us1] == cm[*us2++]) 91 while (cm[*us1] == cm[*us2++])
92 if (*us1++ == '\0') 92 if (*us1++ == '\0')
@@ -95,14 +95,12 @@ strcasecmp(s1, s2)
95} 95}
96 96
97int 97int
98strncasecmp(s1, s2, n) 98strncasecmp(const char *s1, const char *s2, size_t n)
99 const char *s1, *s2;
100 register size_t n;
101{ 99{
102 if (n != 0) { 100 if (n != 0) {
103 register const u_char *cm = charmap, 101 const u_char *cm = charmap;
104 *us1 = (const u_char *)s1, 102 const u_char *us1 = (const u_char *)s1;
105 *us2 = (const u_char *)s2; 103 const u_char *us2 = (const u_char *)s2;
106 104
107 do { 105 do {
108 if (cm[*us1] != cm[*us2++]) 106 if (cm[*us1] != cm[*us2++])