Joe Pluta wrote:
> ...
> I understand the thinking that %EOF and %FOUND are different. How about
> a new BIF that does what we want? Like %DATA. If a CHAIN *or* a READ
> are successful in putting data into the buffer, then %DATA is true. We
> could then do this:
>
> Chain ( SomeKey ) File;
> DoW %Data( File );
> // do something
> ReadE ( SomeKey ) File;
> EndDo;
Your "%DATA" doesn't really fit with SETLL and SETGT, but I think any
new "continue-io-loop" builtin should.
But you can already use a single builtin function for both CHAIN and
READ. EOF and record-not-found have non-error statuses of 00011 and
00012; a status of zero means it's ok to continue processing the file.
Chain ( SomeKey ) File;
DoW %Status( File ) = *zero;
// do something
ReadE ( SomeKey ) File;
EndDo;