[MPlayer-dev-eng] [PATCH] Fix dll loading with Turkish locales

Reimar Döffinger Reimar.Doeffinger at stud.uni-karlsruhe.de
Wed Jan 19 17:28:55 CET 2005


Hi,
On Wed, Jan 19, 2005 at 02:57:15PM +0200, Ismail Donmez wrote:
> In turkish locale toupper("i) != I and tolower("I") != i . This problem makes 
> mplayer crash when an external dll needs to be loaded for audio and/or video. 
> I tried to get a sensible backtrace but al I get was "??" lines. I suspect 
> crash happens inside the dll.
> 
> The solution:
> 
> Set LC_ALL to "C" before opening audio/video decoder so character conversions 
> doesn't use locale settings. This have no effect on !Turkish locales where 
> the above problem doesn't apply.

Rejected. To fix this crash alone, changing loader/win32.c, line 5311 is
enough.
Also this patch still won't make MPlayer work correctly,
case-insensitive comparisons are needed all over the place, e.g. http
requests and (in some places) option parsing.
The only thing that comes close to a solution (which would be fixing
how the language is represented on the computer) is to provide our own
implementation of strcasecmp (same is true to sscanf etc., too).
The own implementation may of course consist of a simple wrapper that
just sets LC_ALL to "C"...

Greetings,
Reimar Döffinger




More information about the MPlayer-dev-eng mailing list