do { *dst = *src; *dst++; *src++; } while(*dst);
The grandparent post's code is just nonsensical.
e: I submit my revised code:
do { *dst = *src; src++; dst++; } while(*(dst - 1));