Felix von Leitner 19 years ago
parent
commit
d56acba0eb
  1. 12
      byte/byte_copy.c

12
byte/byte_copy.c

@ -9,15 +9,15 @@ void byte_copy(void* out, unsigned int len, const void* in) {
if (len>127) {
while ((unsigned long)s&(sizeof(unsigned long)-1))
if (t==u) break; *s=*t; ++s; ++t;
}
/* s (destination) is now unsigned long aligned */
#ifndef __i386__
if (!((unsigned long)t&(sizeof(unsigned long)-1)))
if (!((unsigned long)t&(sizeof(unsigned long)-1)))
#endif
while (t+sizeof(unsigned long)<=u) {
*(unsigned long*)s=*(unsigned long*)t;
s+=sizeof(unsigned long); t+=sizeof(unsigned long);
}
while (t+sizeof(unsigned long)<=u) {
*(unsigned long*)s=*(unsigned long*)t;
s+=sizeof(unsigned long); t+=sizeof(unsigned long);
}
}
for (;;) {
if (t==u) break; *s=*t; ++s; ++t;
if (t==u) break; *s=*t; ++s; ++t;

Loading…
Cancel
Save