summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/strlen.c
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2002-08-23 15:52:19 +0000
committerMystery Man <unknown@mandriva.org>2002-08-23 15:52:19 +0000
commit4093b2d83713aa2c17ae96ed65950aedb3081057 (patch)
tree27b2356c02aabca32c7ea8072807c00177fd0516 /mdk-stage1/dietlibc/lib/strlen.c
parent0ef89968d7a68bc41d7018fa3ffd8d22bcdb2bb3 (diff)
downloaddrakx-backup-do-not-use-4093b2d83713aa2c17ae96ed65950aedb3081057.tar
drakx-backup-do-not-use-4093b2d83713aa2c17ae96ed65950aedb3081057.tar.gz
drakx-backup-do-not-use-4093b2d83713aa2c17ae96ed65950aedb3081057.tar.bz2
drakx-backup-do-not-use-4093b2d83713aa2c17ae96ed65950aedb3081057.tar.xz
drakx-backup-do-not-use-4093b2d83713aa2c17ae96ed65950aedb3081057.zip
This commit was manufactured by cvs2svn to create branch
'gdk-pixbuf-0-branch'.
Diffstat (limited to 'mdk-stage1/dietlibc/lib/strlen.c')
-rw-r--r--mdk-stage1/dietlibc/lib/strlen.c47
1 files changed, 0 insertions, 47 deletions
diff --git a/mdk-stage1/dietlibc/lib/strlen.c b/mdk-stage1/dietlibc/lib/strlen.c
deleted file mode 100644
index 56c085dac..000000000
--- a/mdk-stage1/dietlibc/lib/strlen.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <endian.h>
-#include "dietfeatures.h"
-#include <string.h>
-
-#ifdef WANT_SMALL_STRING_ROUTINES
-size_t strlen(const char *s) {
- register int i;
- if (!s) return 0;
- for (i=0; *s; ++s) ++i;
- return i;
-}
-#else
-static const unsigned long magic = 0x01010101;
-
-size_t strlen(const char *s)
-{
- const char *t = s;
- unsigned long word;
-
- if (!s) return 0;
-
- /* Byte compare up until word boundary */
- for (; ((unsigned long) t & 3); t++)
- if (!*t) return t - s;
-
- /* Word compare */
- do {
- word = *((unsigned long *) t); t += 4;
- word = (word - magic) &~ word;
- word &= (magic << 7);
- } while (word == 0);
-
-#if BYTE_ORDER == LITTLE_ENDIAN
- /* word & 0x80808080 == word */
- word = (word - 1) & (magic << 10);
- word += (word << 8) + (word << 16);
- t += word >> 26;
-#else
- if ((word & 0x80800000) == 0) {
- word <<= 16;
- t += 2;
- }
- if ((word & 0x80000000) == 0) t += 1;
-#endif
- return ((const char *) t) - 4 - s;
-}
-#endif