summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/alpha/strlen.c
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2003-04-24 07:15:38 +0000
committerMystery Man <unknown@mandriva.org>2003-04-24 07:15:38 +0000
commit87ef78ed082f9dec4e83a6120b32617b7f7a86b9 (patch)
treeb96ceedd4f1c29745a0651880e71daab8cdb686c /mdk-stage1/dietlibc/alpha/strlen.c
parent327bd24f8e4291bd1882de1990dd7339f781a9cb (diff)
downloaddrakx-backup-do-not-use-87ef78ed082f9dec4e83a6120b32617b7f7a86b9.tar
drakx-backup-do-not-use-87ef78ed082f9dec4e83a6120b32617b7f7a86b9.tar.gz
drakx-backup-do-not-use-87ef78ed082f9dec4e83a6120b32617b7f7a86b9.tar.bz2
drakx-backup-do-not-use-87ef78ed082f9dec4e83a6120b32617b7f7a86b9.tar.xz
drakx-backup-do-not-use-87ef78ed082f9dec4e83a6120b32617b7f7a86b9.zip
This commit was manufactured by cvs2svn to create tag 'V1_1_9_56mdk'.V1_1_9_56mdk
Diffstat (limited to 'mdk-stage1/dietlibc/alpha/strlen.c')
-rw-r--r--mdk-stage1/dietlibc/alpha/strlen.c32
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;
-}
-
-