summaryrefslogtreecommitdiff
path: root/libiberty/strncmp.c
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-28 01:42:43 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-28 01:42:43 +0000
commitb3524c8f62bb28ea9ac8bb9e9a8add363a467922 (patch)
treeb17419ab155b4e9009d38da21cac2f8c357d799b /libiberty/strncmp.c
parentf0e2ad08921206fe3e9faab3938e93e7bb183b25 (diff)
downloadgcc-b3524c8f62bb28ea9ac8bb9e9a8add363a467922.tar.gz
* aclocal.m4: New file with new test libiberty_AC_FUNC_STRNCMP.
* configure.in (AC_CHECK_HEADERS): Add sys/mman.h fcntl.h. (libiberty_AC_FUNC_STRNCMP): Invoke. * strncmp.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33498 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty/strncmp.c')
-rw-r--r--libiberty/strncmp.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/libiberty/strncmp.c b/libiberty/strncmp.c
new file mode 100644
index 00000000000..b3b9de16b10
--- /dev/null
+++ b/libiberty/strncmp.c
@@ -0,0 +1,28 @@
+/* strncmp -- compare two strings, stop after n bytes.
+ This function is in the public domain. */
+
+#include <ansidecl.h>
+#ifdef __STDC__
+#include <stddef.h>
+#else
+#define size_t unsigned long
+#endif
+
+int
+strncmp(s1, s2, n)
+ const char *s1, *s2;
+ register size_t n;
+{
+ register unsigned char u1, u2;
+
+ while (n-- > 0)
+ {
+ u1 = (unsigned char) *s1++;
+ u2 = (unsigned char) *s2++;
+ if (u1 != u2)
+ return u1 - u2;
+ if (u1 == '\0')
+ return 0;
+ }
+ return 0;
+}