summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/strncmp.c
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2003-08-20 07:37:27 +0000
committerMystery Man <unknown@mandriva.org>2003-08-20 07:37:27 +0000
commit7f2ac73888b8ef372ea597049981b27e7d810ac2 (patch)
tree354132889b63bbe5f446cb82869b3c3367135a80 /mdk-stage1/dietlibc/lib/strncmp.c
parent327bd24f8e4291bd1882de1990dd7339f781a9cb (diff)
downloaddrakx-topic/MDKC_1_0.tar
drakx-topic/MDKC_1_0.tar.gz
drakx-topic/MDKC_1_0.tar.bz2
drakx-topic/MDKC_1_0.tar.xz
drakx-topic/MDKC_1_0.zip
This commit was manufactured by cvs2svn to create branch 'MDKC_1_0'.topic/MDKC_1_0
Diffstat (limited to 'mdk-stage1/dietlibc/lib/strncmp.c')
-rw-r--r--mdk-stage1/dietlibc/lib/strncmp.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/mdk-stage1/dietlibc/lib/strncmp.c b/mdk-stage1/dietlibc/lib/strncmp.c
index 7c08c0fa7..b3b56cfbb 100644
--- a/mdk-stage1/dietlibc/lib/strncmp.c
+++ b/mdk-stage1/dietlibc/lib/strncmp.c
@@ -1,6 +1,17 @@
#include <sys/types.h>
#include <string.h>
+/* gcc is broken and has a non-SUSv2 compliant internal prototype.
+ * This causes it to warn about a type mismatch here. Ignore it. */
int strncmp(const char *s1, const char *s2, size_t n) {
- return memccmp(s1,s2,0,n);
+ register const char* a=s1;
+ register const char* b=s2;
+ register const char* fini=a+n;
+ while (a<fini) {
+ register int res=*a-*b;
+ if (res) return res;
+ if (!*a) return 0;
+ ++a; ++b;
+ }
+ return 0;
}