Int21 fixes - Update

Sylvain Petreolle spetreolle at yahoo.fr
Sun Aug 24 15:05:50 CDT 2003


 --- Jukka Heinonen <jhei at 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



More information about the wine-devel mailing list