- if (((uintptr_t)s & ALIGN) == ((uintptr_t)d & ALIGN)) {
- for (; (*d=*s) && ((uintptr_t)s & ALIGN); s++, d++);
- if (!*s) return d;
+ if ((uintptr_t)s % ALIGN == (uintptr_t)d % ALIGN) {
+ for (; (uintptr_t)s % ALIGN; s++, d++)
+ if (!(*d=*s)) return d;