[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: Reorganizing msvcrt related dlls implementation
From:       Alexandre Julliard <julliard () winehq ! org>
Date:       2010-03-29 14:43:08
Message-ID: 87hbnzb343.fsf () wine ! dyndns ! org
[Download RAW message or body]

Piotr Caban <piotr@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
julliard@winehq.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic