develooper Front page | perl.perl5.porters | Postings from June 2012

[perl #113536] GetEnvironmentStrings() mess up the values for non-ascii strings

Thread Previous | Thread Next
From:
bulk88 via RT
Date:
June 16, 2012 21:36
Subject:
[perl #113536] GetEnvironmentStrings() mess up the values for non-ascii strings
Message ID:
rt-3.6.HEAD-5009-1339689751-796.113536-15-0@perl.org
On Thu Jun 14 00:56:57 2012, Steve.Hay@verosoftware.com wrote: 
> So the
>    only problem remaining is what happens in the case when characters
>    outside of the current ANSI codepage appear in the environment, and
>    that would be worth logging as a separate bug. It isn't such a
>    common case, and there are likely to be problems in other areas of
>    the code in that case anyway, e.g. you can't open a file whose name
>    contains characters outside of the ANSI codepage without jumping
>    through some hoops rather than using the built-in open() function.
>    If you agree and have no other issues with the patch then I'll
>    apply it and raise the non-ANSI characters problem as a separate
>    bug (and attach your scripts etc).

I agree. You can apply the patch. Ultimately one day all of %INC support
in perlhost.h will have have to be made to use the wide apis so all wide
char env vars roundtrip correctly between processes and through %INC.
Note, to test this patch I used the raw wide win API since %INC was
unusable. Currently perlhost.h (which implements %INC) either queries
its own cache of env, or goes out to windows API.
http://perl5.git.perl.org/perl.git/blob/3630f57ef8a29a646a6848f4e93d25ac47093a3c:/win32/perlhost.h#l2402
http://perl5.git.perl.org/perl.git/blob/3630f57ef8a29a646a6848f4e93d25ac47093a3c:/win32/perlhost.h#l2084
http://perl5.git.perl.org/perl.git/blob/3630f57ef8a29a646a6848f4e93d25ac47093a3c:/win32/perlhost.h#l2134
http://perl5.git.perl.org/perl.git/blob/3630f57ef8a29a646a6848f4e93d25ac47093a3c:/win32/win32.c#l1653
Plus hv.c will need some fixing to add the utf8 flag to the %INC if the
env var isnt low ascii. Anyways, I'm done. You can apply the patch, and
there should be enough notes in this ticket for someone in the future to
work on the remainder of the problems.

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org:443/rt3/Ticket/Display.html?id=113536

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About