diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2001-05-14 21:47:42 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2001-05-14 21:47:42 +0000 |
commit | 98a18b797c63ea9baab31768ed720ad32c0004e8 (patch) | |
tree | 2d8b0d9e845b332060ac668a429ef65ca4c47ed1 /mdk-stage1/slang/slmemchr.c | |
parent | 12cf594c688f3bc3e0b26d35305d5d6db7036fc4 (diff) | |
download | drakx-98a18b797c63ea9baab31768ed720ad32c0004e8.tar drakx-98a18b797c63ea9baab31768ed720ad32c0004e8.tar.gz drakx-98a18b797c63ea9baab31768ed720ad32c0004e8.tar.bz2 drakx-98a18b797c63ea9baab31768ed720ad32c0004e8.tar.xz drakx-98a18b797c63ea9baab31768ed720ad32c0004e8.zip |
i can compile slang and newt with dietlibc now
Diffstat (limited to 'mdk-stage1/slang/slmemchr.c')
-rw-r--r-- | mdk-stage1/slang/slmemchr.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/mdk-stage1/slang/slmemchr.c b/mdk-stage1/slang/slmemchr.c new file mode 100644 index 000000000..1417bc549 --- /dev/null +++ b/mdk-stage1/slang/slmemchr.c @@ -0,0 +1,47 @@ +/* Copyright (c) 1992, 1999, 2001 John E. Davis + * This file is part of the S-Lang library. + * + * You may distribute under the terms of either the GNU General Public + * License or the Perl Artistic License. + */ + +/* These routines are fast memcpy, memset routines. When available, I + use system rouines. For msdos, I use inline assembly. */ + +/* The current versions only work in the forward direction only!! */ + +#include "slinclud.h" + +#include "slang.h" +#include "_slang.h" + +char *SLmemchr(register char *p, register char c, register int n) +{ + int n2; + register char *pmax; + + pmax = p + (n - 32); + + while (p <= pmax) + { + if ((*p == c) || (*++p == c) || (*++p == c) || (*++p == c) + || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c) + || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c) + || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c) + || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c) + || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c) + || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c) + || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)) + return p; + p++; + } + + n2 = n % 32; + + while (n2--) + { + if (*p == c) return p; + p++; + } + return(NULL); +} |