X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=device%2Flib%2F_memcpy.c;h=c973f159d9a43c6cc8f0af70eee309bbcbef6872;hb=15e47104204a8eac41e3d9769d1493531a4c5906;hp=d5ddf9e7a3faafe51e44b480a1e0d3225931675d;hpb=cb7d8a8cab26fa0c173006da313fcc3e0bbb8d33;p=fw%2Fsdcc diff --git a/device/lib/_memcpy.c b/device/lib/_memcpy.c index d5ddf9e7..c973f159 100644 --- a/device/lib/_memcpy.c +++ b/device/lib/_memcpy.c @@ -26,24 +26,21 @@ #if !_SDCC_PORT_PROVIDES_MEMCPY -#define NULL (void *)0 - void * memcpy ( void * dst, void * src, - int acount + size_t acount ) { #if _SDCC_Z80_STYLE_LIB_OPT -#pragma NOINDUCTION +#pragma noinduction char * d = dst; char * s = src; - int count = -acount; + /* PENDING: Divide first to get around sign problems */ + int count = -(acount >> 2); - count /= 4; - while (count) { *d++ = *s++; *d++ = *s++;