Thread Modul Cdk - Fehler beim Installieren (5 answers)
Opened by JW at 2003-10-29 14:01

kabel
 2003-10-29 18:30
#47913 #47913
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
die XS schnittstelle hat sich geƤndert ... die haben anscheinend perl 5.001 verwendet 8)
(in der README steht so was, explizit leider nirgends) - hab leider keine ahnung, mit welchem release das passierte.

das undefinierte SV heisst neuerdings PL_sv_undef und nicht sv_undef und SvPV erwartet als zweiten parameter nicht na, sondern PL_na. hier der patch:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
--- Cdk.xs      2003-10-29 17:27:16.000000000 +0100
+++ Cdk.xs.new 2003-10-29 17:13:34.000000000 +0100
@@ -26,7 +26,7 @@
for (y=0; y <= subLen; y++) \
{ \
SV *sv = *av_fetch(subArray,y,FALSE); \
- (NEWARRAY)[x+(START)][y+(START)] = copyChar((char *)SvPV(sv,na)); \
+ (NEWARRAY)[x+(START)][y+(START)] = copyChar((char *)SvPV(sv,PL_na)); \
} \
} \
(ARRAYLEN)++; \
@@ -87,7 +87,7 @@
for (x=0; x <= (LEN); x++) \
{ \
SV *foo = *av_fetch(src, x, FALSE); \
- (DEST)[x+(START)] = copyChar((char *)SvPV(foo,na)); \
+ (DEST)[x+(START)] = copyChar((char *)SvPV(foo,PL_na)); \
} \
(LEN)++; \
} while (0)
@@ -107,11 +107,11 @@
SV *foo = *av_fetch(src, x, FALSE); \
if (lines == 0) \
{ \
- sprintf ((DEST), "%s", (char *)SvPV(foo,na)); \
+ sprintf ((DEST), "%s", (char *)SvPV(foo,PL_na)); \
} \
else \
{ \
- sprintf ((DEST), "%s\n%s", (DEST), (char *)SvPV(foo,na)); \
+ sprintf ((DEST), "%s\n%s", (DEST), (char *)SvPV(foo,PL_na)); \
} \
lines++; \
} \
@@ -123,7 +123,7 @@
} \
else \
{ \
- sprintf ((DEST), "%s", (char *)SvPV(INPUT,na)); \
+ sprintf ((DEST), "%s", (char *)SvPV(INPUT,PL_na)); \
} \
} while (0)

@@ -299,7 +299,7 @@
{
if (SvPOK(sv))
{
- char *name = SvPV(sv,na);
+ char *name = SvPV(sv,PL_na);
chtype *fillerChtype;
chtype filler;
int j1, j2;
@@ -608,7 +608,7 @@
{
if (SvPOK(sv))
{
- char *name = SvPV(sv,na);
+ char *name = SvPV(sv,PL_na);
if (strEQ (name, "vENTRY"))
return vENTRY;
if (strEQ (name, "vMENTRY"))
@@ -646,7 +646,7 @@
{
if (SvPOK(sv))
{
- char *name = SvPV(sv,na);
+ char *name = SvPV(sv,PL_na);
if (strEQ (name, "CHAR"))
return vCHAR;
if (strEQ (name, "HCHAR"))
@@ -697,7 +697,7 @@
{
if (SvPOK(sv))
{
- char *name = SvPV(sv,na);
+ char *name = SvPV(sv,PL_na);
if (strEQ(name, "BOTTOM"))
return BOTTOM;
if (strEQ(name, "CENTER"))
@@ -736,7 +736,7 @@
sv2CharPtr(inp)
SV *inp;
{
- char *name = (char *)SvPV(inp,na);
+ char *name = (char *)SvPV(inp,PL_na);
return (name);
}

@@ -6424,7 +6424,7 @@
CDKALPHALIST * object
PPCODE:
{
- SV *sv = (SV *)&sv_undef;
+ SV *sv = (SV *)&PL_sv_undef;
chtype Keys[300];
int arrayLen;
char *value;

leider funktioniert das demo "bday" net, da wohl in den .pm's fehler sind.
du musst in Cdk/Slider.pm zeile 28 noch ersetzen durch:
Quote
my $box = Cdk::checkDef ($name, "Fox", $params{'Box'}, "TRUE");

scheint was durcheinander gekommen zu sein.

dann klappt zumindest bday - sieht a wenisch komisch aus ;)

HTH\n\n

<!--EDIT|kabel|1067445148-->
-- stefan

View full thread Modul Cdk - Fehler beim Installieren