--- Begin Message ---
Hi Thomas,
recent changes in cdk-perl-20130717 broke the build again with
newer versions of ExtUtils::ParseXS, including the one
bundled with Perl 5.18.
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.c: In function 'XS_Cdk__Mentry_New':
Cdk.c:6497: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)
^
make[1]: *** [Cdk.o] Error 1
I'm attaching a proposed patch for this. For reference,
this is http://bugs.debian.org/719578.
Thanks for your work on CDK,
--
Niko Tyni nt...@debian.org
>From e0700c1621e41806fc59a0257de51ce0359a51f4 Mon Sep 17 00:00:00 2001
From: Niko Tyni <nt...@debian.org>
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
--- End Message ---