int21 handling

Eric Pouech pouech-eric at wanadoo.fr
Wed Nov 12 14:45:25 CST 2003


> Use wide characters and manual wide character conversions.
> DOS routines use OEM code page and not ANSI code page and
> Wine uses wide characters as default character set, anyway.
Regarding this part, I think we'd better rely for int21 support to the
SetFileApisToOEM and SetFileApisToANSI APIs (and or course implementing 
them correctly).
I'd suggest changing the oem_files_api to a krnl_file_api_codepage (or 
something like this) which would be set to either CP_ANSI or CP_OEM and 
use this variable in most of file related A functions (instead of our 
current CP_ANSI). Then we would set OEM APIs on int21 entry (and reset 
to the old mode on exit). I assume we hold a lock while executing the 
int21 API, so preventing some multi-threading issues on this.
Any comment before I go on?
A+
-- 
Eric Pouech




More information about the wine-devel mailing list