* missing.h, missing/memcmp.c, missing/memmove.c:

ANSI compatible interface.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ocean 2005-10-27 02:55:18 +00:00
Родитель f44333cbff
Коммит c0851c650f
4 изменённых файлов: 19 добавлений и 16 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Thu Oct 27 11:53:17 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* missing.h, missing/memcmp.c, missing/memmove.c:
ANSI compatible interface.
Wed Oct 26 09:15:48 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* ext/syck/implicit.c (syck_type_id_to_uri): should return

Просмотреть файл

@ -76,12 +76,12 @@ extern int isnan(double);
/*
#ifndef HAVE_MEMCMP
extern int memcmp(char *, char *, int);
extern int memcmp(const void *, const void *, size_t);
#endif
*/
#ifndef HAVE_MEMMOVE
extern void *memmove(void *, void *, int);
extern void *memmove(void *, const void *, size_t);
#endif
/*

Просмотреть файл

@ -1,16 +1,15 @@
/* public domain rewrite of memcmp(3) */
#include <stddef.h>
int
memcmp(s1,s2,len)
char *s1;
char *s2;
register int len;
memcmp(const void *s1, const void *s2, size_t len)
{
register unsigned char *a = (unsigned char*)s1;
register unsigned char *b = (unsigned char*)s2;
register int tmp;
while (len--) {
for (; len; --len) {
if (tmp = *a++ - *b++)
return tmp;
}

Просмотреть файл

@ -1,22 +1,21 @@
/* public domain rewrite of memcmp(3) */
#include <stddef.h>
void *
memmove (d, s, n)
void *d, *s;
int n;
memmove(void *d, const void *s, size_t n)
{
char *dst = d;
char *src = s;
void *ret = dst;
char *dst = (char *)d;
const char *src = (const char *)s;
if (src < dst) {
src += n;
dst += n;
while (n--)
for (; n; --n)
*--dst = *--src;
}
else if (dst < src)
while (n--)
for (; n; --n)
*dst++ = *src++;
return ret;
return d;
}