From: Tony Cook Date: Wed, 22 May 2013 13:39:48 +0000 (+1000) Subject: [rt #69243] use the typemap for i_get_pixel()'s return value X-Git-Tag: v0.96_01~16^2~14 X-Git-Url: http://git.imager.perl.org/imager.git/commitdiff_plain/befd4be10759147f4fb89acb5731563b8118646a [rt #69243] use the typemap for i_get_pixel()'s return value --- diff --git a/Imager.xs b/Imager.xs index b8625cd7..95043773 100644 --- a/Imager.xs +++ b/Imager.xs @@ -2932,22 +2932,16 @@ DSO_call(handle,func_index,hv) PPCODE: DSO_call( (DSO_handle *)handle,func_index,hv); -SV * +Imager::Color i_get_pixel(im, x, y) Imager::ImgRaw im i_img_dim x i_img_dim y; - PREINIT: - i_color *color; CODE: - color = (i_color *)mymalloc(sizeof(i_color)); - if (i_gpix(im, x, y, color) == 0) { - RETVAL = NEWSV(0, 0); - sv_setref_pv(RETVAL, "Imager::Color", (void *)color); - } - else { - myfree(color); - RETVAL = &PL_sv_undef; + RETVAL = (i_color *)mymalloc(sizeof(i_color)); + if (i_gpix(im, x, y, RETVAL) != 0) { + myfree(RETVAL); + XSRETURN_UNDEF; } OUTPUT: RETVAL