diff options
author | Mystery Man <unknown@mandriva.org> | 2002-08-23 15:52:19 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2002-08-23 15:52:19 +0000 |
commit | 4093b2d83713aa2c17ae96ed65950aedb3081057 (patch) | |
tree | 27b2356c02aabca32c7ea8072807c00177fd0516 /mdk-stage1/dietlibc/lib/strlen.c | |
parent | 0ef89968d7a68bc41d7018fa3ffd8d22bcdb2bb3 (diff) | |
download | drakx-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.c | 47 |
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 |