Hi!
______________O\_/_________________________________\_/O______________
/* Test for eof and exit */
/* immediately if it is */
if (!(s->sft_flags & SFT_FEOF) || (s->sft_flags & SFT_FNUL))
return 0;
_____________________________________________________________________
O/~\ /~\O
This is same as (with fixing for comment):
______________O\_/_________________________________\_/O______________
/* exit if EOF (bit SFT_FEOF is zero) or NUL device */
if ((s->sft_flags & (SFT_FEOF | SFT_FNUL)) != SFT_FEOF)
return 0;
_____________________________________________________________________
O/~\ /~\O
Also, in next lines:
______________O\_/_________________________________\_/O______________
if (s->sft_flags & SFT_FCONIN)
rc = read_line_handle(sft_idx, n, bp);
else
rc = cooked_read(&dev, n, bp);
if (*(char *)bp == CTL_Z)
_____________________________________________________________________
O/~\ /~\O
As I understand, last line should be:
if (((char*)bp) [rc - 1] == CTL_Z)
ie. should be checked last input character. As I understand, this is bug,
which may be seen in next way:
- run "copy con file"
- ^Z as first key in line should stop input.
- ^Z as non-first key in line ignored.
PS: Bart, you say, that I catch error (with testing track number in
partition table), but I not seen yet patches (in freedos-cvs). What wrong?
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel