--- Jukka Heinonen jhei@iki.fi a écrit : > I have to admit I'm a bit disappointed with this patch:
- Patch name should really be more descriptive.
- Changelog is not up to date with patch.
Changelog != message title, you ok? And tell why its not in sync with the patch.
- This patch cannot be compiled with a C compiler. This makes it look like this patch has not been tested at all...
I compiled it with GCC 3.X and got no problem at all.
ioctl : You really should consider all IOCTL subfunctions before trying to modify CFLAG behaviour. Putting one top level RESET_CFLAG with FIXME comment would be fine but fixing one branch and leaving other branches alone is not.
I didnt change any IOCTL function, if you see one, be more precise.
0x2d : not ok. First of all, illegal time is not an error. Some programs seem to use it as installation check, see subfunction 0x2b. Second thing is that you only reset CFLAG here and do not set it. Third thing is that I don't think this subfunction touches CFLAG at all.
Illegal time IS an error, same for the date, and is reported with AL=FF. See Ralf Brown's Interrupt List. You're right for one point : my CFLAG reset is an error here.
0x38 : not ok. It would be pointless to return an error here because it only makes fewer programs work. Just add RESET_CFLAG and leave the logic as it is. Besides you have broken bSetDOSExtendedError handling here.
I dont follow you here. I add RESET_CLAG in case of success. In case of failure, CFLAG is set and an extended error code is returned in AX.
0x45 : not ok. Missing brackets.
Ok, will fix it.
0x48 : ok (see 0x5c)
This is not sufficient since BX must be set too.
0x4a : This is not valid C. RESET_CFLAG cannot happen before variable declarations. Move RESET_CFLAG to start of subfunction.
If this really bothers GCC 2.x and others : the better is to put the variables declarations at the start of the subfunction.
0x5c : not ok (cosmetic bug). If you decide to use if-then-bSetDOSExtendedError-else-RESET_CFLAG you really should try to use it everywhere. Or you could use RESET_CFLAG as first operation in each subfunction. But try not to use mixed approaches, if it can be helped.
===== Sylvain Petreolle (spetreolle_at_users_dot_sourceforge_dot_net) ICQ #170597259
alias upsf='false ; while [ $? -ne 0 ] ; do cvs update -APd ; done 2>&1 |tee cvslog'
"What if tomorrow the War could be over ?" Morpheus, in "Reloaded".
___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com