]> git.vpit.fr Git - perl/modules/Scalar-Vec-Util.git/commitdiff
Return canonical truth values from veq()
authorVincent Pit <vince@profvince.com>
Sat, 23 Apr 2011 14:23:32 +0000 (16:23 +0200)
committerVincent Pit <vince@profvince.com>
Sat, 23 Apr 2011 14:23:32 +0000 (16:23 +0200)
Util.xs

diff --git a/Util.xs b/Util.xs
index 2c3cc6e8641d0217f0f457a5f6291d870814b78c..72b2830e52f3c6b618c31502da6e5df26235bd2e 100644 (file)
--- a/Util.xs
+++ b/Util.xs
@@ -128,7 +128,7 @@ CODE:
 
  XSRETURN(0);
 
-SV *
+void
 veq(SV *sv1, SV *ss1, SV *sv2, SV *ss2, SV *sl)
 PROTOTYPE: $$$$$
 PREINIT:
@@ -138,7 +138,7 @@ PREINIT:
 CODE:
  l = svu_validate_uv(sl, "length");
  if (!l)
-  XSRETURN_YES;
+  goto done;
  s1 = svu_validate_uv(ss1, "offset");
  s2 = svu_validate_uv(ss2, "offset");
 
@@ -182,6 +182,5 @@ CODE:
  }
 
  done:
- RETVAL = newSVuv(res);
-OUTPUT:
- RETVAL
+ ST(0) = res ? &PL_sv_yes : &PL_sv_no;
+ XSRETURN(1);