From c685985dbfd1235ab649d79355fc25c3e047a6a9 Mon Sep 17 00:00:00 2001 From: jshepher <> Date: Sat, 4 Dec 2004 00:51:09 +0000 Subject: [PATCH] Now calls memset (avoids code duplication). --- libnix/sources/nix/misc/bcopy.c | 49 ++------------------------------- libnix/sources/nix/misc/bzero.c | 23 ++-------------- 2 files changed, 6 insertions(+), 66 deletions(-) diff --git a/libnix/sources/nix/misc/bcopy.c b/libnix/sources/nix/misc/bcopy.c index c99fa1d..6277d55 100755 --- a/libnix/sources/nix/misc/bcopy.c +++ b/libnix/sources/nix/misc/bcopy.c @@ -1,52 +1,9 @@ #include +#include /* This is a _fast_ block move routine! */ void bcopy(const void *s1,void *s2,size_t n) -{ size_t m; - if(!n) - return; - if(s215) - { if((long)s1&1) - { *((char *)s2)++=*((char *)s1)++; - n--; } - if(!((long)s2&1)) - { if((long)s1&2) - { *((short *)s2)++=*((short *)s1)++; - n-=2; } - for(m=n/(8*sizeof(long));m;--m) - { *((long *)s2)++=*((long *)s1)++; *((long *)s2)++=*((long *)s1)++; - *((long *)s2)++=*((long *)s1)++; *((long *)s2)++=*((long *)s1)++; - *((long *)s2)++=*((long *)s1)++; *((long *)s2)++=*((long *)s1)++; - *((long *)s2)++=*((long *)s1)++; *((long *)s2)++=*((long *)s1)++; } - n&=8*sizeof(long)-1; - for(m=n/sizeof(long);m;--m) - *((long *)s2)++=*((long *)s1)++; - n&=sizeof(long)-1; } - if(!n) return; - } do;while(*((char *)s2)++=*((char *)s1)++,--n); - }else - { (char *)s1+=n; - (char *)s2+=n; - if(n>15) - { if((long)s1&1) - { *--((char *)s2)=*--((char *)s1); - n--; } - if(!((long)s2&1)) - { if((long)s1&2) - { *--((short *)s2)=*--((short *)s1); - n-=2; } - for(m=n/(8*sizeof(long));m;--m) - { *--((long *)s2)=*--((long *)s1); *--((long *)s2)=*--((long *)s1); - *--((long *)s2)=*--((long *)s1); *--((long *)s2)=*--((long *)s1); - *--((long *)s2)=*--((long *)s1); *--((long *)s2)=*--((long *)s1); - *--((long *)s2)=*--((long *)s1); *--((long *)s2)=*--((long *)s1); } - n&=8*sizeof(long)-1; - for(m=n/sizeof(long);m;--m) - *--((long *)s2)=*--((long *)s1); - n&=sizeof(long)-1; } - if(!n) return; - } do;while(*--((char *)s2)=*--((char *)s1),--n); - } +{ + memcpy(s2, s1, n); } diff --git a/libnix/sources/nix/misc/bzero.c b/libnix/sources/nix/misc/bzero.c index 97065da..2b3ce00 100755 --- a/libnix/sources/nix/misc/bzero.c +++ b/libnix/sources/nix/misc/bzero.c @@ -1,23 +1,6 @@ -#include +#include void bzero(void *b,size_t n) -{ size_t m; - if(!n) - return; - if(n>15) - { if((long)b&1) - { *((char *)b)++=0; - n--; } - if((long)b&2) - { *((short *)b)++=0; - n-=2; } - for(m=n/(8*sizeof(long));m;--m) - { *((long *)b)++=0; *((long *)b)++=0; *((long *)b)++=0; *((long *)b)++=0; - *((long *)b)++=0; *((long *)b)++=0; *((long *)b)++=0; *((long *)b)++=0; } - n&=8*sizeof(long)-1; - for(m=n/sizeof(long);m;--m) - *((long *)b)++=0; - if((n&=sizeof(long)-1)==0) return; - } - do;while(*((char *)b)++=0,--n); +{ + memset(b, 0, n); }