Ah, the old "priming read" problem. I suggest, instead of the
do {
//yadda
if (someCondition) break;
//yadda2
while(1);
Make a function
define yadda() { yadda }
then say
yadda()
while someCondition is false {
yadda()
//yadda2
}
Of course, it's important that there is some guarantee that 'someCondition' will become false. In the case of an EOF the universe kind of supplies the guarantee. ![]()