summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/alpha/strlen.c
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2003-03-15 15:26:37 +0000
committerMystery Man <unknown@mandriva.org>2003-03-15 15:26:37 +0000
commit6f745bb1829160c3da8034b00ea4725faf7f4340 (patch)
treea6222c0684337a5283590c2b74bb538261086d18 /mdk-stage1/dietlibc/alpha/strlen.c
parentbad9352db6617835f12292f262952def1207dcb1 (diff)
downloaddrakx-backup-do-not-use-6f745bb1829160c3da8034b00ea4725faf7f4340.tar
drakx-backup-do-not-use-6f745bb1829160c3da8034b00ea4725faf7f4340.tar.gz
drakx-backup-do-not-use-6f745bb1829160c3da8034b00ea4725faf7f4340.tar.bz2
drakx-backup-do-not-use-6f745bb1829160c3da8034b00ea4725faf7f4340.tar.xz
drakx-backup-do-not-use-6f745bb1829160c3da8034b00ea4725faf7f4340.zip
This commit was manufactured by cvs2svn to create tag 'V9_1_25mdk'.V9_1_25mdk
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;
-}
-
-