Piotr Caban <pi...@codeweavers.com> writes: > 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?
For cases like this where half the functionality is already in msvcrt, I think it's OK to export the extra functions from msvcrt too. Hopefully they will get added by Microsoft sooner or later, since msvcrt is sort of a superset of all the msvcr* dlls. Just make a clear note that they are not officially exported yet. -- Alexandre Julliard julli...@winehq.org