In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/f14bcc5683944703165075d948cc1a971e0ffd62?hp=2d373db1171ead2bd9f470f98a3c73d12966b508>

- Log -----------------------------------------------------------------
commit f14bcc5683944703165075d948cc1a971e0ffd62
Merge: c331296... 2d373db...
Author: Marcus Holland-Moritz <[email protected]>
Date:   Tue Mar 24 19:50:06 2009 +0100

    Merge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead

commit c331296618a8003690577e0901fd07183a76094e
Author: Marcus Holland-Moritz <[email protected]>
Date:   Tue Mar 24 19:37:13 2009 +0100

    Fix perl #63924: shmget limited to 32 bit segment size on 64 bit OS
    
    Make sure the size argument to shmget() is not limited by the width of an 
int.
    Instead of storing the argument in an int, just store a pointer to the SV 
and
    use different conversions for semget() and shmget().

M       doio.c
-----------------------------------------------------------------------

Summary of changes:
 doio.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/doio.c b/doio.c
index 6135efa..2e5947f 100644
--- a/doio.c
+++ b/doio.c
@@ -1981,7 +1981,7 @@ Perl_do_ipcget(pTHX_ I32 optype, SV **mark, SV **sp)
 {
     dVAR;
     const key_t key = (key_t)SvNVx(*++mark);
-    const I32 n = (optype == OP_MSGGET) ? 0 : SvIVx(*++mark);
+    SV *nsv = optype == OP_MSGGET ? NULL : *++mark;
     const I32 flags = SvIVx(*++mark);
 
     PERL_ARGS_ASSERT_DO_IPCGET;
@@ -1996,11 +1996,11 @@ Perl_do_ipcget(pTHX_ I32 optype, SV **mark, SV **sp)
 #endif
 #ifdef HAS_SEM
     case OP_SEMGET:
-       return semget(key, n, flags);
+       return semget(key, (int) SvIV(nsv), flags);
 #endif
 #ifdef HAS_SHM
     case OP_SHMGET:
-       return shmget(key, n, flags);
+       return shmget(key, (size_t) SvUV(nsv), flags);
 #endif
 #if !defined(HAS_MSG) || !defined(HAS_SEM) || !defined(HAS_SHM)
     default:

--
Perl5 Master Repository

Reply via email to