Hi,
Recently I was working on some msvcrt/msvcr90 functions.
I found few problems related to how the implementation is organized:
- Some of the functions are invoking invalid_parameter, msvcrt is not
allowing to change it, msvcr90 exports _set_invalid_parameter_handler.
- create_locale (not available on msvcrt) needs almost exactly the
same internal functions as set_locale.
I see few ways of implementing this functions:
- Copy implementations of functions that are invoking
invalid_parameter_handler to msvcr90. This will introduce lots of code
duplication in future (currently most of functions that should invoke
invalid_parameter_handler are not implemented or are not calling it).
Almost whole locale.c file will be copied.
- Create wine specific dll, forward msvcrt and msvcr90 calls to it.
- Move implementation of some functions from msvcrt to msvcr90. It'll
probably introduce similar problems when newer msvcrXX appears.
What solution is preferred? Any other ideas?
Cheers,
Piotr