void bad (void); char *foo (char *src, char **last) { char *dst; int ch; dst = src = (src ? src : *last); if (*src == 0) return 0; while (src[0]) { if (!src[1]) { bad (); break; } *dst = *src; dst += 1; src += 2; } *last = src; *dst = 0; return *last; }