Hi Bart, Arkady, other kernel people,

what do you think about the following problem:

We only have ONE scr_pos variable in the SDA but
several functions use it for several char devices
as far as I can tell. So tabstop calculation will
probably go wrong when you "mix" accesses to, say,
CON and AUX. How can this be avoided, how does MS
DOS or DR DOS behave in this context? We could
limit the use of scr_pos to "CON only". That might
make users of CTTY AUX unhappy. Still acceptable?
If not, what are the alternatives? Or are there
already enough checks in the existing code to some-
how ensure that scr_pos is only used for CON...?


Affected functions are:

update_scr_pos - uses categories CR, BS, LF, BELL, other

cooked_write_char - calls update_scr_pos, special-casing TAB
write_char_stdout - as cooked_write_char but skip if CONOUT

read_line - works with (update_) scr_pos for LF and "BS over TAB"

DosRWSft - calls read_line via read_line_handle if cooked READ CONIN
and also - calls update_scr_pos if BINARY (raw?) WRITE CONOUT


Directly reachable are:

write_char_stdout int - as 21.1 / 21.2 / 21.9 and
read_line - as int 21.a, others are used by int 21 indirectly.


Note also that DosRWSft assumes that input handle == output handle
when it invokes read_line_handle, while int 21.a calls the read
line function with STDIN and STDOUT as arguments.

Thanks for having a look :-)

Eric



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Freedos-kernel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to