aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2000-06-15 20:56:25 +0000
committerH.J. Lu <hjl.tools@gmail.com>2000-06-15 20:56:25 +0000
commiteb383413c242546f266f9694071e0480806649b3 (patch)
tree95b240bd0c181ac81463ba1f0e6b97f06e973638 /libiberty/strncmp.c
parentRemove entries from gcc. They don't make much senses here since (diff)
downloadbinutils-gdb-eb383413c242546f266f9694071e0480806649b3.tar.gz
binutils-gdb-eb383413c242546f266f9694071e0480806649b3.tar.bz2
binutils-gdb-eb383413c242546f266f9694071e0480806649b3.zip
Synced with libiberty in the gcc repository.
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;
+}