Re: Ponie development snapshot 4

[email protected] (Andy Dougherty) Tue, 12 Jul 2005 15:23:04 -0400 (EDT)
Newsgroups perl.ponie.dev
Message-ID <[email protected]>
> On Mon, Jun 27, 2005 at 03:41:42PM -0400, Andy Dougherty wrote:
> > On Mon, 27 Jun 2005, Nicholas Clark wrote:
> > 
> > > I've rolled up a development snapshot. It's available at
> > > 
> > >   http://opensource.fotango.com/~nclark/ponie-4.tar.bz2
> > 

> It's checked into subversion, so if you have a checkout handy just sync it.
> (  http://svn.perl.org/ponie/trunk/  )

Ok, that worked.  However, I ran into (and fixed) two more problems.  
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.

After that, it seems to compile (it's stuck going through Encode now; who 
knows when it will finish -- this system is usually fairly bogged down 
merely by running SpamAssassin on all my incoming mail).

--- src/pmc/perl5cargo_cult.pmc.orig	Tue Jul 12 14:11:32 2005
+++ src/pmc/perl5cargo_cult.pmc	Tue Jul 12 14:11:37 2005
@@ -124,7 +124,7 @@
     }
 
     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() {
--- perl/sv.c.orig	Tue Jul 12 14:17:48 2005
+++ perl/sv.c	Tue Jul 12 14:25:02 2005
@@ -3838,7 +3838,9 @@
 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 @@
 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 @@
 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 @@
 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);
 }



-- 
    Andy Dougherty		[email protected]