diff options
author | Mystery Man <unknown@mandriva.org> | 2003-04-14 13:30:58 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2003-04-14 13:30:58 +0000 |
commit | 3c75a78aa006b1f51e6b053f1edbf8f19ccbcb8f (patch) | |
tree | 3bf68e0d5ad6d2fca6c769c4e4e7218f2e0e6db3 /mdk-stage1/dietlibc/alpha/strlen.c | |
parent | 327bd24f8e4291bd1882de1990dd7339f781a9cb (diff) | |
download | drakx-backup-do-not-use-3c75a78aa006b1f51e6b053f1edbf8f19ccbcb8f.tar drakx-backup-do-not-use-3c75a78aa006b1f51e6b053f1edbf8f19ccbcb8f.tar.gz drakx-backup-do-not-use-3c75a78aa006b1f51e6b053f1edbf8f19ccbcb8f.tar.bz2 drakx-backup-do-not-use-3c75a78aa006b1f51e6b053f1edbf8f19ccbcb8f.tar.xz drakx-backup-do-not-use-3c75a78aa006b1f51e6b053f1edbf8f19ccbcb8f.zip |
This commit was manufactured by cvs2svn to create tag 'V1_1_9_54mdk'.V1_1_9_54mdk
Diffstat (limited to 'mdk-stage1/dietlibc/alpha/strlen.c')
-rw-r--r-- | mdk-stage1/dietlibc/alpha/strlen.c | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/mdk-stage1/dietlibc/alpha/strlen.c b/mdk-stage1/dietlibc/alpha/strlen.c deleted file mode 100644 index ac532254a..000000000 --- a/mdk-stage1/dietlibc/alpha/strlen.c +++ /dev/null @@ -1,32 +0,0 @@ -#include <string.h> - -static const unsigned long long magic = 0x0101010101010101LL; - -size_t strlen(const char *s) -{ - const char *t = s; - unsigned long long word; - - if (!s) return 0; - - /* Byte compare up until 64 bit word boundary */ - for (; ((unsigned long long) t & 7); t++) - if (!*t) return t - s; - - /* Word compare */ - do { - word = *((unsigned long long *) t); t += 8; - word = (word - magic) &~ word; - word &= (magic << 7); - } while (word == 0); - - /* word & 0x8080808080808080 == word */ - word = (word - 1) & (magic << 8); - word += (word << 32); - word += (word << 16); - word += (word << 8); - t += word >> 56; - return ((const char *) t) - 8 - s; -} - - |