summaryrefslogtreecommitdiff
path: root/libiberty/strncmp.c
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2000-04-28 01:42:43 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2000-04-28 01:42:43 +0000
commita9266bfa4a9d8491d5cdb1d1653e23ecdc7cbc17 (patch)
treeb17419ab155b4e9009d38da21cac2f8c357d799b /libiberty/strncmp.c
parentb9550bfbc60717467e93c5337306ed7748b57983 (diff)
downloadgcc-a9266bfa4a9d8491d5cdb1d1653e23ecdc7cbc17.tar.gz
aclocal.m4: New file with new test libiberty_AC_FUNC_STRNCMP.
* 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. From-SVN: r33498
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;
+}