]> git.vpit.fr Git - perl/modules/Scalar-Vec-Util.git/commitdiff
Add prototypes
authorVincent Pit <vince@profvince.com>
Sun, 17 May 2009 15:41:59 +0000 (17:41 +0200)
committerVincent Pit <vince@profvince.com>
Sun, 17 May 2009 15:41:59 +0000 (17:41 +0200)
Util.xs
lib/Scalar/Vec/Util.pm
t/01-import.t

diff --git a/Util.xs b/Util.xs
index f954a42bcac3126d10215331e9b23ac3f521c139..75ba8cabcabc72fd469c12eb9ceb36381c39f15e 100644 (file)
--- a/Util.xs
+++ b/Util.xs
@@ -28,6 +28,7 @@ BOOT:
 
 void
 vfill(SV *sv, SV *ss, SV *sl, SV *sf)
+PROTOTYPE: $$$$
 PREINIT:
  size_t s, l, n, o;
  char f, *v;
@@ -59,6 +60,7 @@ CODE:
 
 void
 vcopy(SV *sf, SV *sfs, SV *st, SV *sts, SV *sl)
+PROTOTYPE: $$$$$
 PREINIT:
  size_t fs, ts, l, lf = 0, n, o;
  char *t, *f;
@@ -107,6 +109,7 @@ CODE:
 
 SV *
 veq(SV *sv1, SV *ss1, SV *sv2, SV *ss2, SV *sl)
+PROTOTYPE: $$$$$
 PREINIT:
  size_t s1, s2, l, o, n;
  char *v1, *v2;
index dd8b1cbcea3b3cdb30da08a3098a114c9701b838..b7ab6ab774e36fc5452c33a85c98e2dca08e3eb4 100644 (file)
@@ -77,7 +77,7 @@ sub _alldef {
  return 1;
 }
 
-sub vfill_pp {
+sub vfill_pp ($$$$) {
  (undef, my $s, my $l, my $x) = @_;
  croak "Invalid argument" unless _alldef @_;
  return unless $l;
@@ -103,7 +103,7 @@ Doesn't need to allocate any extra memory.
 
 =cut
 
-sub vcopy_pp {
+sub vcopy_pp ($$$$$) {
  my ($fs, $ts, $l) = @_[1, 3, 4];
  croak "Invalid argument" unless _alldef @_;
  return unless $l;
@@ -124,7 +124,7 @@ Doesn't need to allocate any extra memory.
 
 =cut
 
-sub vshift {
+sub vshift ($$$$;$) {
  my ($start, $length, $bits, $insert) = @_[1 .. 4];
  return unless $bits;
  my $left = 1;
@@ -154,7 +154,7 @@ Currently allocates an extra buffer of size C<O($bits)>.
 
 =cut
 
-sub vrot {
+sub vrot ($$$$) {
  my ($start, $length, $bits) = @_[1 .. 3];
  return unless $length and $bits;
  my $left = 1;
@@ -184,7 +184,7 @@ If needed, C<$length> is decreased to fit inside C<$v1> and C<$v2> boundaries.
 
 =cut
 
-sub veq_pp {
+sub veq_pp ($$$$$) {
  my ($s1, $s2, $l) = @_[1, 3, 4];
  croak "Invalid argument" unless _alldef @_;
  my $i = 0;
index 939ee229fffa217ca3dc1e19492e3307a789febd..454862e5b957456bf7d8149bb231890b65263529 100644 (file)
@@ -3,11 +3,22 @@
 use strict;
 use warnings;
 
-use Test::More tests => 6;
+use Test::More tests => 2 * 7;
 
 require Scalar::Vec::Util;
 
-for (qw/vfill vcopy vshift veq SVU_PP SVU_SIZE/) {
+my %syms = (
+ vfill    => '$$$$',
+ vcopy    => '$$$$$',
+ veq      => '$$$$$',
+ vshift   => '$$$$;$',
+ vrot     => '$$$$',
+ SVU_PP   => '',
+ SVU_SIZE => '',
+);
+
+for (keys %syms) {
  eval { Scalar::Vec::Util->import($_) };
- ok(!$@, 'import ' . $_);
+ is $@,            '',        "import $_";
+ is prototype($_), $syms{$_}, "prototype $_";
 }