From: Steve Hay <SteveHay@planit.com>
Date: Thu, 28 Jun 2007 10:46:39 +0000 (+0000)
Subject: Re-enable the setlocale() tests for Windows XP onwards
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=3a2d17640c711a74da5a32d6750db585e6944152;p=p5sagit%2Fp5-mst-13.2.git

Re-enable the setlocale() tests for Windows XP onwards
since they seem to work OK. Not sure about older flavours
of Windows, so leave them alone.

p4raw-id: //depot/perl@31491
---

diff --git a/lib/locale.t b/lib/locale.t
index c3a9d94..783d0bd 100644
--- a/lib/locale.t
+++ b/lib/locale.t
@@ -43,7 +43,12 @@ eval {
 
 # Visual C's CRT goes silly on strings of the form "en_US.ISO8859-1"
 # and mingw32 uses said silly CRT
-$have_setlocale = 0 if (($^O eq 'MSWin32' || $^O eq 'NetWare') && $Config{cc} =~ /^(cl|gcc)/i);
+# This doesn't seem to be an issue any more, at least on Windows XP,
+# so re-enable the tests for Windows XP onwards.
+my $winxp = ($^O eq 'MSWin32' && defined &Win32::GetOSVersion &&
+		join('.', (Win32::GetOSVersion())[1..2]) >= 5.1);
+$have_setlocale = 0 if ((($^O eq 'MSWin32' && !$winxp) || $^O eq 'NetWare') &&
+		$Config{cc} =~ /^(cl|gcc)/i);
 
 # UWIN seems to loop after test 98, just skip for now
 $have_setlocale = 0 if ($^O =~ /^uwin/);