Upgrade to Win32-0.35
Steve Hay [Tue, 1 Apr 2008 16:42:04 +0000 (16:42 +0000)]
p4raw-id: //depot/perl@33625

ext/Win32/Changes
ext/Win32/Makefile.PL
ext/Win32/Win32.pm
ext/Win32/Win32.xs
ext/Win32/t/GetCurrentThreadId.t

index d5e9365..4c21ae7 100644 (file)
-Revision history for the Perl extension Win32.\r
-\r
-0.34   [2007-11-21]\r
-       - Document "WinVista" return value for Win32::GetOSName()\r
-         (Steve Hay).\r
-\r
-0.33   [2007-11-12]\r
-       - Update version to 0.33 for Perl 5.10 release\r
-       - Add $^O test in Makefile.PL for CPAN Testers\r
-       - Use Win32::GetLastError() instead of $^E in t/Names.t for\r
-         cygwin compatibility (Jerry D. Hedden).\r
-\r
-0.32   [2007-09-20]\r
-       - Additional #define's for older versions of VC++ (Dmitry Karasik).\r
-       - Win32::DomainName() doesn't return anything when the Workstation\r
-         service isn't running.  Set $^E and adapt t/Names.t accordingly\r
-         (Steve Hay & Jerry D. Hedden).\r
-       - Fix t/Names.t to allow Win32::GetOSName() to return an empty\r
-         description as the 2nd return value (e.g. Vista without SP).\r
-       - Fix t/GetFileVersion.t for Perl 5.10\r
-\r
-0.31   [2007-09-10]\r
-       - Apply Cygwin fixes from bleadperl (from Jerry D. Hedden).\r
-       - Make sure Win32::GetLongPathName() always returns drive\r
-         letters in uppercase (Jerry D. Hedden).\r
-       - Use uppercase environment variable names in t/Unicode.t\r
-         because the MSWin32 doesn't care, and Cygwin only works\r
-         with the uppercased version.\r
-       - new t/Names.t test (from Sébastien Aperghis-Tramoni)\r
-\r
-0.30   [2007-06-25]\r
-       - Fixed t/Unicode.t test for Cygwin (with help from Jerry D. Hedden).\r
-       - Fixed and documented Win32::GetShortPathName() to return undef\r
-         when the pathname doesn't exist (thanks to Steve Hay).\r
-       - Added t/GetShortPathName.t\r
-\r
-0.29   [2007-05-17]\r
-       - Fixed to compile with Borland BCC (thanks to Steve Hay).\r
-\r
-0.28_01        [2007-05-16]\r
-       - Increase version number as 0.28 was already used by an ActivePerl\r
-         release (for essentially 0.27 plus the Win32::IsAdminUser() change).\r
-\r
-       - Add MODULE and PROTOTYPES directives to silence warnings from\r
-         newer versions of xsubpp.\r
-\r
-       - Use the Cygwin codepath in Win32::GetFullPathName() when\r
-         PERL_IMPLICIT_SYS is not defined, because the other code\r
-         relies on the virtualization code in win32/vdir.h.\r
-\r
-0.27_02        [2007-05-15]\r
-       - We need Windows 2000 or later for the Unicode support because\r
-         WC_NO_BEST_FIT_CHARS is not supported on Windows NT.\r
-\r
-       - Fix Win32::GetFullPathName() on Windows NT to return an\r
-         empty file part if the original argument ends with a slash.\r
-\r
-0.27_01        [2007-04-18]\r
-       - Update Win32::IsAdminUser() to use the IsUserAnAdmin() function\r
-         in shell32.dll when available.  On Windows Vista this will only\r
-         return true if the process is running with elevated privileges\r
-         and not just when the owner of the process is a member of the\r
-         "Administrators" group.\r
-\r
-       - Win32::ExpandEnvironmentStrings() may return a Unicode string\r
-         (a string containing characters outside the system codepage)\r
-\r
-       - new Win32::GetANSIPathName() function returns a pathname in\r
-         a form containing only characters from the system codepage\r
-\r
-       - Win32::GetCwd() will return an ANSI version of the directory\r
-         name if the long name contains characters outside the system\r
-         codepage.\r
-\r
-       - Win32::GetFolderPath() will return an ANSI pathname. Call\r
-         Win32::GetLongPathName() to get the canonical Unicode\r
-         representation.\r
-\r
-       - Win32::GetFullPathName() will return an ANSI pathname. Call\r
-         Win32::GetLongPathName() to get the canonical Unicode\r
-         representation.\r
-\r
-       - Win32::GetLongPathName() may return a Unicode path name.\r
-         Call Win32::GetANSIPathName() to get a representation using\r
-         only characters from the system codepage.\r
-\r
-       - Win32::LoginName() may return a Unicode string.\r
-\r
-       - new Win32::OutputDebugString() function sends a string to\r
-         the debugger.\r
-\r
-       - new Win32::GetCurrentThreadId() function returns the thread\r
-         id (to complement the process id in $$).\r
-\r
-       - new Win32::CreateDirectory() creates a new directory.  The\r
-         name of the directory may contain Unicode characters outside\r
-         the system codepage.\r
-\r
-       - new Win32::CreateFile() creates a new file.  The name of the\r
-         file may contain Unicode characters outside the system codepage.\r
-\r
-\r
-0.27   [2007-03-07]\r
-       - Extracted from the libwin32 distribution to simplify maintenance\r
-         because Win32 is a dual-life core module since 5.8.4.\r
-\r
-       - Win32.pm and Win32.xs updated to version in bleadperl.\r
-         This includes all the Win32::* function from win32/win32.c\r
-         in core Perl, except for Win32::SetChildShowWindows().\r
-\r
-       - Install into 'perl' directory instead of 'site' for Perl 5.8.4\r
-         and later.\r
-\r
-       - Add some simple tests.\r
+Revision history for the Perl extension Win32.
+
+0.35   [2008-03-31]
+       Integrate changes from bleadperl:
+       - Silence Borland compiler warning (Steve Hay)
+       - Fix memory leak in Win32::GetOSVersion (Vincent Pit)
+       - Test Win32::GetCurrentThreadId on cygwin (Reini Urban, Steve Hay)
+
+0.34   [2007-11-21]
+       - Document "WinVista" return value for Win32::GetOSName()
+         (Steve Hay).
+
+0.33   [2007-11-12]
+       - Update version to 0.33 for Perl 5.10 release
+       - Add $^O test in Makefile.PL for CPAN Testers
+       - Use Win32::GetLastError() instead of $^E in t/Names.t for
+         cygwin compatibility (Jerry D. Hedden).
+
+0.32   [2007-09-20]
+       - Additional #define's for older versions of VC++ (Dmitry Karasik).
+       - Win32::DomainName() doesn't return anything when the Workstation
+         service isn't running.  Set $^E and adapt t/Names.t accordingly
+         (Steve Hay & Jerry D. Hedden).
+       - Fix t/Names.t to allow Win32::GetOSName() to return an empty
+         description as the 2nd return value (e.g. Vista without SP).
+       - Fix t/GetFileVersion.t for Perl 5.10
+
+0.31   [2007-09-10]
+       - Apply Cygwin fixes from bleadperl (from Jerry D. Hedden).
+       - Make sure Win32::GetLongPathName() always returns drive
+         letters in uppercase (Jerry D. Hedden).
+       - Use uppercase environment variable names in t/Unicode.t
+         because the MSWin32 doesn't care, and Cygwin only works
+         with the uppercased version.
+       - new t/Names.t test (from Sébastien Aperghis-Tramoni)
+
+0.30   [2007-06-25]
+       - Fixed t/Unicode.t test for Cygwin (with help from Jerry D. Hedden).
+       - Fixed and documented Win32::GetShortPathName() to return undef
+         when the pathname doesn't exist (thanks to Steve Hay).
+       - Added t/GetShortPathName.t
+
+0.29   [2007-05-17]
+       - Fixed to compile with Borland BCC (thanks to Steve Hay).
+
+0.28_01        [2007-05-16]
+       - Increase version number as 0.28 was already used by an ActivePerl
+         release (for essentially 0.27 plus the Win32::IsAdminUser() change).
+
+       - Add MODULE and PROTOTYPES directives to silence warnings from
+         newer versions of xsubpp.
+
+       - Use the Cygwin codepath in Win32::GetFullPathName() when
+         PERL_IMPLICIT_SYS is not defined, because the other code
+         relies on the virtualization code in win32/vdir.h.
+
+0.27_02        [2007-05-15]
+       - We need Windows 2000 or later for the Unicode support because
+         WC_NO_BEST_FIT_CHARS is not supported on Windows NT.
+
+       - Fix Win32::GetFullPathName() on Windows NT to return an
+         empty file part if the original argument ends with a slash.
+
+0.27_01        [2007-04-18]
+       - Update Win32::IsAdminUser() to use the IsUserAnAdmin() function
+         in shell32.dll when available.  On Windows Vista this will only
+         return true if the process is running with elevated privileges
+         and not just when the owner of the process is a member of the
+         "Administrators" group.
+
+       - Win32::ExpandEnvironmentStrings() may return a Unicode string
+         (a string containing characters outside the system codepage)
+
+       - new Win32::GetANSIPathName() function returns a pathname in
+         a form containing only characters from the system codepage
+
+       - Win32::GetCwd() will return an ANSI version of the directory
+         name if the long name contains characters outside the system
+         codepage.
+
+       - Win32::GetFolderPath() will return an ANSI pathname. Call
+         Win32::GetLongPathName() to get the canonical Unicode
+         representation.
+
+       - Win32::GetFullPathName() will return an ANSI pathname. Call
+         Win32::GetLongPathName() to get the canonical Unicode
+         representation.
+
+       - Win32::GetLongPathName() may return a Unicode path name.
+         Call Win32::GetANSIPathName() to get a representation using
+         only characters from the system codepage.
+
+       - Win32::LoginName() may return a Unicode string.
+
+       - new Win32::OutputDebugString() function sends a string to
+         the debugger.
+
+       - new Win32::GetCurrentThreadId() function returns the thread
+         id (to complement the process id in $$).
+
+       - new Win32::CreateDirectory() creates a new directory.  The
+         name of the directory may contain Unicode characters outside
+         the system codepage.
+
+       - new Win32::CreateFile() creates a new file.  The name of the
+         file may contain Unicode characters outside the system codepage.
+
+
+0.27   [2007-03-07]
+       - Extracted from the libwin32 distribution to simplify maintenance
+         because Win32 is a dual-life core module since 5.8.4.
+
+       - Win32.pm and Win32.xs updated to version in bleadperl.
+         This includes all the Win32::* function from win32/win32.c
+         in core Perl, except for Win32::SetChildShowWindows().
+
+       - Install into 'perl' directory instead of 'site' for Perl 5.8.4
+         and later.
+
+       - Add some simple tests.
index 84c9b87..6f9b008 100644 (file)
@@ -1,20 +1,18 @@
 use 5.006;
+use strict;
+use warnings;
 use ExtUtils::MakeMaker;
 
 unless ($^O eq "MSWin32" || $^O eq "cygwin") {
     die "OS unsupported\n";
 }
 
-my @libs;
-push @libs, '-L/lib/w32api -lole32 -lversion' if $^O eq "cygwin";
-
-WriteMakefile(
+my %param = (
     NAME          => 'Win32',
     VERSION_FROM  => 'Win32.pm',
-    LIBS          => \@libs,
     INSTALLDIRS   => ($] >= 5.008004 ? 'perl' : 'site'),
-    NO_META       => 1,
-
-    AUTHOR        => 'Jan Dubois <jand@activestate.com>',
-    ABSTRACT_FROM => 'Win32.pm',
 );
+$param{NO_META} = 1 if eval "$ExtUtils::MakeMaker::VERSION" >= 6.10_03;
+$param{LIBS} = ['-L/lib/w32api -lole32 -lversion'] if $^O eq "cygwin";
+
+WriteMakefile(%param);
index d09a231..5737f83 100644 (file)
@@ -8,7 +8,7 @@ BEGIN {
     require DynaLoader;
 
     @ISA = qw|Exporter DynaLoader|;
-    $VERSION = '0.34_01';
+    $VERSION = '0.35';
     $XS_VERSION = $VERSION;
     $VERSION = eval $VERSION;
 
index f2b02c0..bbd6ac8 100644 (file)
@@ -1245,17 +1245,17 @@ XS(w32_GetOSVersion)
     if (GIMME_V == G_SCALAR) {
         XSRETURN_IV(g_osver.dwPlatformId);
     }
-    mXPUSHp(g_osver.szCSDVersion, strlen(g_osver.szCSDVersion));
+    XPUSHs(sv_2mortal(newSVpvn(g_osver.szCSDVersion, strlen(g_osver.szCSDVersion))));
 
-    mXPUSHi(g_osver.dwMajorVersion);
-    mXPUSHi(g_osver.dwMinorVersion);
-    mXPUSHi(g_osver.dwBuildNumber);
-    mXPUSHi(g_osver.dwPlatformId);
+    XPUSHs(sv_2mortal(newSViv(g_osver.dwMajorVersion)));
+    XPUSHs(sv_2mortal(newSViv(g_osver.dwMinorVersion)));
+    XPUSHs(sv_2mortal(newSViv(g_osver.dwBuildNumber)));
+    XPUSHs(sv_2mortal(newSViv(g_osver.dwPlatformId)));
     if (g_osver_ex) {
-        mXPUSHi(g_osver.wServicePackMajor);
-        mXPUSHi(g_osver.wServicePackMinor);
-        mXPUSHi(g_osver.wSuiteMask);
-        mXPUSHi(g_osver.wProductType);
+        XPUSHs(sv_2mortal(newSViv(g_osver.wServicePackMajor)));
+        XPUSHs(sv_2mortal(newSViv(g_osver.wServicePackMinor)));
+        XPUSHs(sv_2mortal(newSViv(g_osver.wSuiteMask)));
+        XPUSHs(sv_2mortal(newSViv(g_osver.wProductType)));
     }
     PUTBACK;
 }
index 2e261bc..4db2c14 100644 (file)
@@ -13,7 +13,8 @@ if ($Config{ccflags} =~ /PERL_IMPLICIT_SYS/) {
        exit 0;
     }
     ok(-$$, Win32::GetCurrentThreadId());
-} else {
-# here we just want to see something.
+}
+else {
+    # here we just want to see something.
     ok(Win32::GetCurrentThreadId() > 0);
 }