MODULE 'dos/dos' PROC readStr(handle, buffer) DEF bytes, size, eof=FALSE bytes:=Read(handle, buffer, StrMax(buffer)) size:=bytes IF InStr(buffer, '\n', 0) > -1 Seek(handle, -(bytes - InStr(buffer, '\n', 0)-1), OFFSET_CURRENT) bytes:=InStr(buffer, '\n', 0) ELSE IF size < StrMax(buffer) THEN eof:=TRUE ENDIF buffer[bytes]:=0 ENDPROC eof PROC main () DEF s [5] : STRING WHILE readStr (stdout, s) > -1 WriteF ('s=\s\n', s) ENDWHILE ENDPROC