diff --git a/byte/byte_copy.c b/byte/byte_copy.c index 31260ec..4c3084e 100644 --- a/byte/byte_copy.c +++ b/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;