tag 719578 patch thanks On Tue, Aug 13, 2013 at 12:11:43PM +0300, Niko Tyni wrote: > Package: libcdk-perl > Version: 20130717-1 > Severity: important > User: [email protected] > Usertags: perl-5.18-transition > > This package fails to build on Perl 5.18 (currently in experimental):
> Cdk.c: In function 'XS_Cdk__Entry_New': > Cdk.c:5576:2: error: too few arguments to function 'sv2dtype' > int int_disptype = sv2dtype (/* not a parameter */); Patch attached. There are probably other ways to fix this but I'm not really fluent in XS. FWIW I tested that examples/entry still works with this. -- Niko Tyni [email protected]
>From e0700c1621e41806fc59a0257de51ce0359a51f4 Mon Sep 17 00:00:00 2001 From: Niko Tyni <[email protected]> Date: Tue, 13 Aug 2013 18:12:57 +0000 Subject: [PATCH] Fix XS syntax, enforced by newer versions of ExtUtils::ParseXS This fixes errors like Cdk.c: In function 'XS_Cdk__Entry_New': Cdk.c:5576:2: error: too few arguments to function 'sv2dtype' int int_disptype = sv2dtype (/* not a parameter */); ^ Cdk.xs:666:1: note: declared here sv2dtype(SV * sv) ^ --- Cdk.xs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Cdk.xs b/Cdk.xs index 890017a..1165221 100644 --- a/Cdk.xs +++ b/Cdk.xs @@ -2561,8 +2561,7 @@ New(title,label,min,max,fieldWidth,filler=".",disptype=vMIXED,xPos=CENTER,yPos=C int max int fieldWidth chtype filler = sv2chtype ($arg); - int int_disptype = sv2dtype ($arg); - EDisplayType disptype = (EDisplayType) int_disptype; + int disptype = sv2dtype ($arg); int xPos = sv2int ($arg); int yPos = sv2int ($arg); chtype fieldattr = sv2chtype ($arg); @@ -2580,7 +2579,7 @@ New(title,label,min,max,fieldWidth,filler=".",disptype=vMIXED,xPos=CENTER,yPos=C entryWidget = newCDKEntry (GCDKSCREEN,xPos,yPos, Title,label, - fieldattr,filler,disptype, + fieldattr,filler,(EDisplayType) disptype, fieldWidth,min,max, Box,shadow); free (Title); @@ -2894,8 +2893,7 @@ New(title,label,min,physical,logical,fieldWidth,disptype=vMIXED,filler=".",xPos= int physical int logical int fieldWidth - int int_disptype = sv2dtype ($arg); - EDisplayType disptype = (EDisplayType) int_disptype; + int disptype = sv2dtype ($arg); chtype filler = sv2chtype ($arg); int xPos = sv2int ($arg); int yPos = sv2int ($arg); @@ -2915,7 +2913,7 @@ New(title,label,min,physical,logical,fieldWidth,disptype=vMIXED,filler=".",xPos= mentryWidget = newCDKMentry (GCDKSCREEN,xPos,yPos, Title,label, fieldattr,filler, - disptype,fieldWidth, + (EDisplayType) disptype,fieldWidth, physical,logical,min, Box,shadow); free (Title); -- 1.8.4.rc2

