diff options
-rw-r--r-- | pod/perlguts.pod | 3 | ||||
-rw-r--r-- | pp.c | 2 | ||||
-rwxr-xr-x | t/op/vec.t | 5 |
3 files changed, 7 insertions, 3 deletions
diff --git a/pod/perlguts.pod b/pod/perlguts.pod index 4806815de4..1aea1d8098 100644 --- a/pod/perlguts.pod +++ b/pod/perlguts.pod @@ -42,9 +42,10 @@ The five routines are: SV* newSVpvf(const char*, ...); SV* newSVsv(SV*); -To change the value of an *already-existing* SV, there are six routines: +To change the value of an *already-existing* SV, there are seven routines: void sv_setiv(SV*, IV); + void sv_setuv(SV*, UV); void sv_setnv(SV*, double); void sv_setpv(SV*, char*); void sv_setpvn(SV*, char*, int) @@ -1911,7 +1911,7 @@ PP(pp_vec) } } - sv_setiv(TARG, (IV)retnum); + sv_setuv(TARG, (UV)retnum); PUSHs(TARG); RETURN; } diff --git a/t/op/vec.t b/t/op/vec.t index 97b6d60989..71171447d6 100755 --- a/t/op/vec.t +++ b/t/op/vec.t @@ -2,7 +2,7 @@ # $RCSfile: vec.t,v $$Revision: 4.1 $$Date: 92/08/07 18:28:36 $ -print "1..13\n"; +print "1..15\n"; print vec($foo,0,1) == 0 ? "ok 1\n" : "not ok 1\n"; print length($foo) == 0 ? "ok 2\n" : "not ok 2\n"; @@ -21,4 +21,7 @@ print vec($foo,1,8) == 0xf1 ? "ok 10\n" : "not ok 10\n"; print ((ord(substr($foo,1,1)) & 255) == 0xf1 ? "ok 11\n" : "not ok 11\n"); print vec($foo,2,4) == 1 ? "ok 12\n" : "not ok 12\n"; print vec($foo,3,4) == 15 ? "ok 13\n" : "not ok 13\n"; +vec($Vec, 0, 32) = 0xbaddacab; +print $Vec eq "\xba\xdd\xac\xab" ? "ok 14\n" : "not ok 14\n"; +print vec($Vec, 0, 32) == 3135089835 ? "ok 15\n" : "not ok 15\n"; |