Andreas Gruenbacher <[EMAIL PROTECTED]> wrote: > > static inline void swap(void *a, void *b, int size) > { > if (size % sizeof(long)) { > char t; > do { > t = *(char *)a; > *(char *)a++ = *(char *)b; > *(char *)b++ = t; > } while (--size > 0); > } else { > long t; > do { > t = *(long *)a; > *(long *)a = *(long *)b; > *(long *)b = t; > size -= sizeof(long); > } while (size > sizeof(long)); > } > }
What if a/b aren't aligned? -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/