2 * Copyright (C) 2006-2007 Axis Communications AB
4 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
9 char *strcpy(char *dest, const char *src)
12 unsigned long himagic = 0x80808080L;
13 unsigned long lomagic = 0x01010101L;
15 while ((unsigned long)src & (sizeof src - 1))
17 if (!(*dest++ = *src++))
25 unsigned long value = *(unsigned long*)src;
28 src += sizeof (unsigned long);
30 if ((magic = (value - lomagic) & himagic))
38 *(unsigned long*)dest = value;
39 dest += sizeof (unsigned long);
42 src -= sizeof (unsigned long);
44 while ((*dest++ = *src++))
50 libc_hidden_def(strcpy)