#include <ctype.h>
#include <stdio.h>
int featlinespace(FILE * stream);
int fgetlineword(char * s, int n, FILE * stream);
int main(void) {
int line = 1;
char wordbuf[30];
int count;
/* For each line, print each word */
while ((count = fgetlineword(wordbuf, sizeof wordbuf, stdin)))
printf("%d: \"%s\"\n", count
, wordbuf
); /* Eat newline */
}
return 0;
}
int featlinespace(FILE * stream) {
int c;
int rv = 0;
while ((c
= fgetc(stream
)) != EOF
) { break;
}
++rv;
continue;
}
return rv;
}
int fgetlineword(char * s, int n, FILE * stream) {
char * const end = s + n - 1;
int c = 0;
featlinespace(stream);
n = 0;
while (s
< end
&& (c
= fgetc(stream
)) != EOF
) { break;
}
*s++ = c;
++n;
continue;
}
*s = '\0';
return n;
}
I2luY2x1ZGUgPGN0eXBlLmg+CiNpbmNsdWRlIDxzdGRpby5oPgoKaW50IGZlYXRsaW5lc3BhY2UoRklMRSAqIHN0cmVhbSk7CmludCBmZ2V0bGluZXdvcmQoY2hhciAqIHMsIGludCBuLCBGSUxFICogc3RyZWFtKTsKCmludCBtYWluKHZvaWQpIHsKICAgIGludCBsaW5lID0gMTsKICAgIGNoYXIgd29yZGJ1ZlszMF07CiAgICBpbnQgY291bnQ7CgogICAgd2hpbGUgKCFmZW9mKHN0ZGluKSkgewogICAgICAgIC8qIEZvciBlYWNoIGxpbmUsIHByaW50IGVhY2ggd29yZCAqLwogICAgICAgIHByaW50ZigiTGluZSAlZDpcbiIsIGxpbmUrKyk7CiAgICAgICAgd2hpbGUgKChjb3VudCA9IGZnZXRsaW5ld29yZCh3b3JkYnVmLCBzaXplb2Ygd29yZGJ1Ziwgc3RkaW4pKSkgCiAgICAgICAgICBwcmludGYoIiVkOiBcIiVzXCJcbiIsIGNvdW50LCB3b3JkYnVmKTsKICAgICAgICAvKiBFYXQgbmV3bGluZSAqLwogICAgICAgIGZnZXRjKHN0ZGluKTsKICAgICAgfQogICAgcmV0dXJuIDA7CiAgfQoKaW50IGZlYXRsaW5lc3BhY2UoRklMRSAqIHN0cmVhbSkgewogICAgaW50IGM7CiAgICBpbnQgcnYgPSAwOwoKICAgIHdoaWxlICgoYyA9IGZnZXRjKHN0cmVhbSkpICE9IEVPRikgewogICAgICAgIGlmICghaXNzcGFjZShjKSB8fCBjID09ICdcbicpIHsKICAgICAgICAgICAgdW5nZXRjKGMsIHN0cmVhbSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICsrcnY7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgIHJldHVybiBydjsKICB9CgppbnQgZmdldGxpbmV3b3JkKGNoYXIgKiBzLCBpbnQgbiwgRklMRSAqIHN0cmVhbSkgewogICAgY2hhciAqIGNvbnN0IGVuZCA9IHMgKyBuIC0gMTsKICAgIGludCBjID0gMDsKCiAgICBmZWF0bGluZXNwYWNlKHN0cmVhbSk7CiAgICBuID0gMDsKICAgIHdoaWxlIChzIDwgZW5kICYmIChjID0gZmdldGMoc3RyZWFtKSkgIT0gRU9GKSB7CiAgICAgICAgaWYgKGlzc3BhY2UoYykpIHsKICAgICAgICAgICAgdW5nZXRjKGMsIHN0cmVhbSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICpzKysgPSBjOwogICAgICAgICsrbjsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgKnMgPSAnXDAnOwogICAgcmV0dXJuIG47CiAgfQo=
ICAgIHRoaXMgaXMgICAgICAgICBhICAgCnRlc3QgICBmb3IgIAkgIHppa29tb3MgICAgCnJlYWxseXJlYWxseXJlYWxseXJlYWxseXJlYWxseWxvbmd3b3JkcmVhbGx5IHVoIGh1aApmb28gYmFyIGJhegptZWVwICAgICAgICAgICBtZWVwICAgICAgICAgCgoKMiBsaW5lcyBhYm92ZSB3ZXJlIGJsYW5r
this is a
test for zikomos
reallyreallyreallyreallyreallylongwordreally uh huh
foo bar baz
meep meep
2 lines above were blank