4
* Copyright 1995-1999, 2005 Bruno Haible, <bruno@clisp.org>
6
* This is free software distributed under the GNU General Public Licence
7
* described in the file COPYING. Contact the author if you don't have this
8
* or can't live with it. There is ABSOLUTELY NO WARRANTY, explicit or implied,
12
void __structcpy (void* dest, const void* src, unsigned long size, unsigned long alignment)
14
if (alignment % sizeof(long))
15
{ char* d = (char*)dest;
16
const char* s = (const char*)src;
17
do { *d++ = *s++; } while (--size > 0);
20
/* If the alignment is a multiple of sizeof(long), the size is as well. */
21
{ long* d = (long*)dest;
22
const long* s = (const long*)src;
23
do { *d++ = *s++; } while ((size -= sizeof(long)) > 0);