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

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]