Re: segv on stack extending



I wrote:

      EXTEND (SP, items-1);

And with that no longer needed ... (and you do get an SP, but it's
otherwise unused, or something).

--- GObject.xs  19 Aug 2008 08:25:23 +1000      1.76
+++ GObject.xs  02 Sep 2008 11:37:43 +1000      
@@ -1190,16 +1190,16 @@
     PREINIT:
        GValue value = {0,};
        int i;
-    PPCODE:
+    CODE:
        PERL_UNUSED_VAR (ix);
-       EXTEND (SP, items-1);
        for (i = 1; i < items; i++) {
                char *name = SvPV_nolen (ST (i));
                init_property_value (object, name, &value);
                g_object_get_property (object, name, &value);
-               PUSHs(sv_2mortal(_gperl_sv_from_value_internal(&value, TRUE)));
+               ST(i-1) = sv_2mortal(_gperl_sv_from_value_internal(&value, TRUE));
                g_value_unset (&value);
        }
+       XSRETURN(items-1);
 
 
 =for apidoc Glib::Object::set


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]