From: Tony Cook Date: Fri, 24 May 2013 13:06:30 +0000 (+1000) Subject: [rt #69243] simplify XS for i_tags_find() and i_tags_findn() X-Git-Tag: v0.96_01~16^2~6 X-Git-Url: http://git.imager.perl.org/imager.git/commitdiff_plain/f4aca8311f3193170163be4f7a27f10a8932ebb6?ds=sidebyside [rt #69243] simplify XS for i_tags_find() and i_tags_findn() Use SysRet for return values, and use XSRETURN_UNDEF for the undef case --- diff --git a/Imager.xs b/Imager.xs index a4ab7615..e4debb47 100644 --- a/Imager.xs +++ b/Imager.xs @@ -3676,7 +3676,7 @@ i_tags_add(im, name_sv, code, data_sv, idata) OUTPUT: RETVAL -SV * +SysRet i_tags_find(im, name, start) Imager::ImgRaw im char *name @@ -3685,17 +3685,14 @@ i_tags_find(im, name, start) int entry; CODE: if (i_tags_find(&im->tags, name, start, &entry)) { - if (entry == 0) - RETVAL = newSVpv("0 but true", 0); - else - RETVAL = newSViv(entry); + RETVAL = entry; } else { - RETVAL = &PL_sv_undef; + XSRETURN_UNDEF; } OUTPUT: RETVAL -SV * +SysRet i_tags_findn(im, code, start) Imager::ImgRaw im int code @@ -3704,13 +3701,10 @@ i_tags_findn(im, code, start) int entry; CODE: if (i_tags_findn(&im->tags, code, start, &entry)) { - if (entry == 0) - RETVAL = newSVpv("0 but true", 0); - else - RETVAL = newSViv(entry); + RETVAL = entry; } else { - RETVAL = &PL_sv_undef; + XSRETURN_UNDEF; } OUTPUT: RETVAL