[svn:ponie] rev 331 - in trunk: perl src/pmc

[email protected] 12 Jul 2005 19:43:54 -0000
Newsgroups perl.ponie.changes
Message-ID <[email protected]>
Author: nicholas
Date: Tue Jul 12 12:43:53 2005
New Revision: 331

Modified:
   trunk/perl/sv.c
   trunk/src/pmc/perl5cargo_cult.pmc
Log:
Subject: Re: Ponie development snapshot 4
From: Andy Dougherty <[email protected]>
Message-ID: <[email protected]>
Date: Tue, 12 Jul 2005 15:23:04 -0400 (EDT)

First, there's a void function trying to return a value; second, my 
compiler wouldn't accept the handy shortcut initializations in sv.c
     struct Ponie_cpvlen setlen = {ptr, len};
so I had to resort to the more pedestrian fixes attached below.


Modified: trunk/perl/sv.c
==============================================================================
--- trunk/perl/sv.c	(original)
+++ trunk/perl/sv.c	Tue Jul 12 12:43:53 2005
@@ -3838,7 +3838,9 @@ undefined.  Does not handle 'set' magic.
 void
 Perl_sv_setpvn(pTHX_ SV *sv, const char *ptr, STRLEN len)
 {
-    struct Ponie_cpvlen setlen = {ptr, len};
+    struct Ponie_cpvlen setlen;
+    setlen.pv = ptr;
+    setlen.len = len;
     Parrot_PMC_set_pointer_intkey(PL_Parrot, MUMBLE(sv),
                                   Ponie_P_SV_PVN_NO_SMAGIC,
                                   &setlen);
@@ -3855,7 +3857,9 @@ Like C<sv_setpvn>, but also handles 'set
 void
 Perl_sv_setpvn_mg(pTHX_ register SV *sv, register const char *ptr, register STRLEN len)
 {
-    struct Ponie_cpvlen setlen = {ptr, len};
+    struct Ponie_cpvlen setlen;
+    setlen.pv = ptr;
+    setlen.len = len;
     Parrot_PMC_set_pointer_intkey(PL_Parrot, MUMBLE(sv), Ponie_P_SV_PVN,
 				  &setlen);
 }
@@ -3873,7 +3877,9 @@ handle 'set' magic.  See C<sv_setpv_mg>.
 void
 Perl_sv_setpv(pTHX_ register SV *sv, register const char *ptr)
 {
-    struct Ponie_cpvlen setlen = {ptr, ptr ? strlen(ptr) : 0};
+    struct Ponie_cpvlen setlen;
+    setlen.pv = ptr;
+    setlen.len = ptr ? strlen(ptr) : 0;
     Parrot_PMC_set_pointer_intkey(PL_Parrot, MUMBLE(sv),
                                   Ponie_P_SV_PVN_NO_SMAGIC,
                                   &setlen);
@@ -3890,7 +3896,9 @@ Like C<sv_setpv>, but also handles 'set'
 void
 Perl_sv_setpv_mg(pTHX_ register SV *sv, register const char *ptr)
 {
-    struct Ponie_cpvlen setlen = {ptr, ptr ? strlen(ptr) : 0};
+    struct Ponie_cpvlen setlen;
+    setlen.pv = ptr;
+    setlen.len = ptr ? strlen(ptr) : 0;
     Parrot_PMC_set_pointer_intkey(PL_Parrot, MUMBLE(sv), Ponie_P_SV_PVN,
                                   &setlen);
 }

Modified: trunk/src/pmc/perl5cargo_cult.pmc
==============================================================================
--- trunk/src/pmc/perl5cargo_cult.pmc	(original)
+++ trunk/src/pmc/perl5cargo_cult.pmc	Tue Jul 12 12:43:53 2005
@@ -124,7 +124,7 @@ pmclass Perl5cargo_cult dynpmc {
     }
 
     void set_integer_native(INTVAL value) {
-        return Perl_sv_setiv_backend(aTHX_ MUMBLE(SELF), value, SV_SMAGIC);
+        Perl_sv_setiv_backend(aTHX_ MUMBLE(SELF), value, SV_SMAGIC);
     }
 
     INTVAL get_integer() {