diff options
Diffstat (limited to 'cpan/Devel-PPPort/parts/inc')
36 files changed, 213 insertions, 128 deletions
diff --git a/cpan/Devel-PPPort/parts/inc/HvNAME b/cpan/Devel-PPPort/parts/inc/HvNAME index 135549db26..4d7882c47c 100644 --- a/cpan/Devel-PPPort/parts/inc/HvNAME +++ b/cpan/Devel-PPPort/parts/inc/HvNAME @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 1 $ +## $Revision: 2 $ ## $Author: mhx $ -## $Date: 2009/06/12 12:29:57 +0200 $ +## $Date: 2010/03/07 13:15:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/MY_CXT b/cpan/Devel-PPPort/parts/inc/MY_CXT index d67af01377..8e1cb4f9ac 100644 --- a/cpan/Devel-PPPort/parts/inc/MY_CXT +++ b/cpan/Devel-PPPort/parts/inc/MY_CXT @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 16 $ +## $Revision: 17 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:55 +0100 $ +## $Date: 2010/03/07 13:15:48 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/SvPV b/cpan/Devel-PPPort/parts/inc/SvPV index e81fb684c1..a7aace7458 100644 --- a/cpan/Devel-PPPort/parts/inc/SvPV +++ b/cpan/Devel-PPPort/parts/inc/SvPV @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 22 $ +## $Revision: 23 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:54 +0100 $ +## $Date: 2010/03/07 13:15:47 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/SvREFCNT b/cpan/Devel-PPPort/parts/inc/SvREFCNT index 46c5deb356..3a2f849802 100644 --- a/cpan/Devel-PPPort/parts/inc/SvREFCNT +++ b/cpan/Devel-PPPort/parts/inc/SvREFCNT @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 5 $ +## $Revision: 6 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:52 +0100 $ +## $Date: 2010/03/07 13:15:45 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/Sv_set b/cpan/Devel-PPPort/parts/inc/Sv_set index 95cf2d672e..2c2ff448f0 100644 --- a/cpan/Devel-PPPort/parts/inc/Sv_set +++ b/cpan/Devel-PPPort/parts/inc/Sv_set @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 7 $ +## $Revision: 8 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:53 +0100 $ +## $Date: 2010/03/07 13:15:46 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/call b/cpan/Devel-PPPort/parts/inc/call index 85159e22a8..d8f2046be6 100644 --- a/cpan/Devel-PPPort/parts/inc/call +++ b/cpan/Devel-PPPort/parts/inc/call @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 19 $ +## $Revision: 20 $ ## $Author: mhx $ -## $Date: 2009/01/23 18:27:48 +0100 $ +## $Date: 2010/03/07 13:15:46 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/cop b/cpan/Devel-PPPort/parts/inc/cop index 7c8674112d..a797109a4f 100644 --- a/cpan/Devel-PPPort/parts/inc/cop +++ b/cpan/Devel-PPPort/parts/inc/cop @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 8 $ +## $Revision: 9 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:54 +0100 $ +## $Date: 2010/03/07 13:15:47 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/exception b/cpan/Devel-PPPort/parts/inc/exception index 122277bbb1..5fcc99d8c8 100644 --- a/cpan/Devel-PPPort/parts/inc/exception +++ b/cpan/Devel-PPPort/parts/inc/exception @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 7 $ +## $Revision: 8 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:53 +0100 $ +## $Date: 2010/03/07 13:15:46 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/format b/cpan/Devel-PPPort/parts/inc/format index d39670416c..3a95b10a2b 100644 --- a/cpan/Devel-PPPort/parts/inc/format +++ b/cpan/Devel-PPPort/parts/inc/format @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 9 $ +## $Revision: 10 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:55 +0100 $ +## $Date: 2010/03/07 13:15:48 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/grok b/cpan/Devel-PPPort/parts/inc/grok index 5e32f8e990..1db6db3bca 100644 --- a/cpan/Devel-PPPort/parts/inc/grok +++ b/cpan/Devel-PPPort/parts/inc/grok @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 16 $ +## $Revision: 17 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:55 +0100 $ +## $Date: 2010/03/07 13:15:49 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/gv b/cpan/Devel-PPPort/parts/inc/gv index 1b911e738d..e17d259675 100644 --- a/cpan/Devel-PPPort/parts/inc/gv +++ b/cpan/Devel-PPPort/parts/inc/gv @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 1 $ +## $Revision: 4 $ ## $Author: mhx $ -## $Date: 2009/06/12 12:29:56 +0200 $ +## $Date: 2010/03/07 13:15:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -23,6 +23,10 @@ __UNDEFINED__ __UNDEFINED__ GvSVn(gv) GvSV(gv) __UNDEFINED__ isGV_with_GP(gv) isGV(gv) +__UNDEFINED__ gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt) +__UNDEFINED__ gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt) + +__UNDEFINED__ get_cvn_flags(name, namelen, flags) get_cv(name, flags) =xsubs @@ -58,9 +62,44 @@ isGV_with_GP() OUTPUT: RETVAL +int +get_cvn_flags() + PREINIT: + CV* xv; + CODE: + RETVAL = 0; + xv = get_cvn_flags("Devel::PPPort::foobar", sizeof("Devel::PPPort::foobar")-1, 0); + if(xv == NULL) RETVAL++; + xv = get_cvn_flags("Devel::PPPort::foobar", sizeof("Devel::PPPort::foobar")-1, GV_ADDMULTI); + if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++; + xv = get_cvn_flags("Devel::PPPort::get_cvn_flags", sizeof("Devel::PPPort::get_cvn_flags")-1, 0); + if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++; + OUTPUT: + RETVAL + +SV* +gv_fetchpvn_flags() + CODE: + RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSION", sizeof("Devel::PPPort::VERSION")-1, 0, SVt_PV)); + OUTPUT: + RETVAL + +SV* +gv_fetchsv(name) + SV *name + CODE: + RETVAL = newRV_inc((SV*)gv_fetchsv(name, 0, SVt_PV)); + OUTPUT: + RETVAL -=tests plan => 2 +=tests plan => 5 ok(Devel::PPPort::GvSVn(), 1); -ok(Devel::PPPort::isGV_with_GP(), 2) +ok(Devel::PPPort::isGV_with_GP(), 2); + +ok(Devel::PPPort::get_cvn_flags(), 3); + +ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION); + +ok(Devel::PPPort::gv_fetchsv("Devel::PPPort::VERSION"), \*Devel::PPPort::VERSION); diff --git a/cpan/Devel-PPPort/parts/inc/limits b/cpan/Devel-PPPort/parts/inc/limits index 25b3940179..b745ee9448 100644 --- a/cpan/Devel-PPPort/parts/inc/limits +++ b/cpan/Devel-PPPort/parts/inc/limits @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 7 $ +## $Revision: 8 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:54 +0100 $ +## $Date: 2010/03/07 13:15:47 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/mPUSH b/cpan/Devel-PPPort/parts/inc/mPUSH index 3613058837..52292c0fad 100644 --- a/cpan/Devel-PPPort/parts/inc/mPUSH +++ b/cpan/Devel-PPPort/parts/inc/mPUSH @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 11 $ +## $Revision: 12 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:54 +0100 $ +## $Date: 2010/03/07 13:15:47 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/magic b/cpan/Devel-PPPort/parts/inc/magic index 31721715ea..558feddd95 100644 --- a/cpan/Devel-PPPort/parts/inc/magic +++ b/cpan/Devel-PPPort/parts/inc/magic @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 17 $ +## $Revision: 21 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:55 +0100 $ +## $Date: 2010/03/07 13:15:49 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -358,9 +358,10 @@ ok($h{sv}, 4711); &Devel::PPPort::sv_usepvn_mg($h{sv}, 'Perl'); ok($h{sv}, 'Perl'); -my $ver = eval qq[qv("v1.2.0")]; -ok($[ < 5.009 || $@ eq ''); -ok($@ || Devel::PPPort::SvVSTRING_mg($ver)); +# v1 is treated as a bareword in older perls... +my $ver = do { local $SIG{'__WARN__'} = sub {}; eval qq[v1.2.0] }; +ok($] < 5.009 || $@ eq ''); +ok($] < 5.009 || Devel::PPPort::SvVSTRING_mg($ver)); ok(!Devel::PPPort::SvVSTRING_mg(4711)); my $foo = 'bar'; diff --git a/cpan/Devel-PPPort/parts/inc/memory b/cpan/Devel-PPPort/parts/inc/memory index 761d80c959..4d7ae4828f 100644 --- a/cpan/Devel-PPPort/parts/inc/memory +++ b/cpan/Devel-PPPort/parts/inc/memory @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 5 $ +## $Revision: 7 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:53 +0100 $ +## $Date: 2010/03/07 13:15:46 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -29,6 +29,10 @@ __UNDEFINED__ memNE(s1,s2,l) (bcmp(s1,s2,l)) __UNDEFINED__ memEQ(s1,s2,l) (!bcmp(s1,s2,l)) #endif +__UNDEFINED__ memEQs(s1, l, s2) \ + (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1))) +__UNDEFINED__ memNEs(s1, l, s2) !memEQs(s1, l, s2) + __UNDEFINED__ MoveD(s,d,n,t) memmove((char*)(d),(char*)(s), (n) * sizeof(t)) __UNDEFINED__ CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t)) #ifdef HAS_MEMSET @@ -62,9 +66,13 @@ checkmem() ZeroD(p, 6, char); if (memEQ(p, "\0\0\0\0\0\0", 6)) RETVAL++; + if (memEQs(p, 6, "\0\0\0\0\0\0")) + RETVAL++; Poison(p, 6, char); if (memNE(p, "\0\0\0\0\0\0", 6)) RETVAL++; + if (memNEs(p, 6, "\0\0\0\0\0\0")) + RETVAL++; Safefree(p); Newxz(p, 6, char); @@ -80,5 +88,5 @@ checkmem() =tests plan => 1 -ok(Devel::PPPort::checkmem(), 4); +ok(Devel::PPPort::checkmem(), 6); diff --git a/cpan/Devel-PPPort/parts/inc/misc b/cpan/Devel-PPPort/parts/inc/misc index 3844bbb317..ac09f8bbe4 100644 --- a/cpan/Devel-PPPort/parts/inc/misc +++ b/cpan/Devel-PPPort/parts/inc/misc @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 53 $ +## $Revision: 55 $ ## $Author: mhx $ -## $Date: 2009/03/31 23:05:55 +0200 $ +## $Date: 2010/03/07 13:15:48 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -475,7 +475,6 @@ Perl_ppaddr_t(string) Perl_ppaddr_t lower; PPCODE: lower = PL_ppaddr[OP_LC]; - PUSHMARK(SP); mXPUSHs(newSVpv(string, 0)); PUTBACK; ENTER; diff --git a/cpan/Devel-PPPort/parts/inc/newCONSTSUB b/cpan/Devel-PPPort/parts/inc/newCONSTSUB index 4b266d7990..d536f8b319 100644 --- a/cpan/Devel-PPPort/parts/inc/newCONSTSUB +++ b/cpan/Devel-PPPort/parts/inc/newCONSTSUB @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 15 $ +## $Revision: 16 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:55 +0100 $ +## $Date: 2010/03/07 13:15:48 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/newRV b/cpan/Devel-PPPort/parts/inc/newRV index 1467d1ae9d..3d0a2d25ad 100644 --- a/cpan/Devel-PPPort/parts/inc/newRV +++ b/cpan/Devel-PPPort/parts/inc/newRV @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 9 $ +## $Revision: 10 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:55 +0100 $ +## $Date: 2010/03/07 13:15:48 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/newSV_type b/cpan/Devel-PPPort/parts/inc/newSV_type index 06ebdb4100..104dba9370 100644 --- a/cpan/Devel-PPPort/parts/inc/newSV_type +++ b/cpan/Devel-PPPort/parts/inc/newSV_type @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 1 $ +## $Revision: 2 $ ## $Author: mhx $ -## $Date: 2009/06/12 12:29:57 +0200 $ +## $Date: 2010/03/07 13:15:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/newSVpv b/cpan/Devel-PPPort/parts/inc/newSVpv index 3a38549f98..6925a7a34f 100644 --- a/cpan/Devel-PPPort/parts/inc/newSVpv +++ b/cpan/Devel-PPPort/parts/inc/newSVpv @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 6 $ +## $Revision: 7 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:51 +0100 $ +## $Date: 2010/03/07 13:15:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/podtest b/cpan/Devel-PPPort/parts/inc/podtest index ceea0cf7a2..83dd440807 100644 --- a/cpan/Devel-PPPort/parts/inc/podtest +++ b/cpan/Devel-PPPort/parts/inc/podtest @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 9 $ +## $Revision: 10 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:52 +0100 $ +## $Date: 2010/03/07 13:15:45 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/ppphbin b/cpan/Devel-PPPort/parts/inc/ppphbin index 583f266a77..83fe71a7d3 100644 --- a/cpan/Devel-PPPort/parts/inc/ppphbin +++ b/cpan/Devel-PPPort/parts/inc/ppphbin @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 50 $ +## $Revision: 51 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:54 +0100 $ +## $Date: 2010/03/07 13:15:48 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/ppphdoc b/cpan/Devel-PPPort/parts/inc/ppphdoc index 62d484106f..addd581e3f 100644 --- a/cpan/Devel-PPPort/parts/inc/ppphdoc +++ b/cpan/Devel-PPPort/parts/inc/ppphdoc @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 32 $ +## $Revision: 33 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:54 +0100 $ +## $Date: 2010/03/07 13:15:47 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -336,7 +336,7 @@ module from CPAN. =head1 COPYRIGHT -Version 3.x, Copyright (c) 2004-2009, Marcus Holland-Moritz. +Version 3.x, Copyright (c) 2004-2010, Marcus Holland-Moritz. Version 2.x, Copyright (C) 2001, Paul Marquess. diff --git a/cpan/Devel-PPPort/parts/inc/ppphtest b/cpan/Devel-PPPort/parts/inc/ppphtest index f94cc7de2d..8deccacb74 100644 --- a/cpan/Devel-PPPort/parts/inc/ppphtest +++ b/cpan/Devel-PPPort/parts/inc/ppphtest @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 46 $ +## $Revision: 47 $ ## $Author: mhx $ -## $Date: 2009/01/23 18:28:00 +0100 $ +## $Date: 2010/03/07 13:15:46 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/pv_tools b/cpan/Devel-PPPort/parts/inc/pv_tools index c7e4c1e907..71f007c8a2 100644 --- a/cpan/Devel-PPPort/parts/inc/pv_tools +++ b/cpan/Devel-PPPort/parts/inc/pv_tools @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 5 $ +## $Revision: 6 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:51 +0100 $ +## $Date: 2010/03/07 13:15:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/pvs b/cpan/Devel-PPPort/parts/inc/pvs index 71485ad32e..082b297ec7 100644 --- a/cpan/Devel-PPPort/parts/inc/pvs +++ b/cpan/Devel-PPPort/parts/inc/pvs @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 11 $ +## $Revision: 14 $ ## $Author: mhx $ -## $Date: 2009/06/12 12:19:15 +0200 $ +## $Date: 2010/03/07 13:15:45 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -30,15 +30,21 @@ __UNDEFINED__ STR_WITH_LEN(s) (s ""), (sizeof(s)-1) __UNDEFINED__ newSVpvs(str) newSVpvn(str "", sizeof(str) - 1) __UNDEFINED__ newSVpvs_flags(str, flags) newSVpvn_flags(str "", sizeof(str) - 1, flags) +__UNDEFINED__ newSVpvs_share(str) newSVpvn_share(str "", sizeof(str) - 1, 0) __UNDEFINED__ sv_catpvs(sv, str) sv_catpvn(sv, str "", sizeof(str) - 1) __UNDEFINED__ sv_setpvs(sv, str) sv_setpvn(sv, str "", sizeof(str) - 1) __UNDEFINED__ hv_fetchs(hv, key, lval) hv_fetch(hv, key "", sizeof(key) - 1, lval) __UNDEFINED__ hv_stores(hv, key, val) hv_store(hv, key "", sizeof(key) - 1, val, 0) -__UNDEFINED__ gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt) __UNDEFINED__ gv_fetchpvs(name, flags, svt) gv_fetchpvn_flags(name "", sizeof(name) - 1, flags, svt) __UNDEFINED__ gv_stashpvs(name, flags) gv_stashpvn(name "", sizeof(name) - 1, flags) +__UNDEFINED__ get_cvs(name, flags) get_cvn_flags(name "", sizeof(name)-1, flags) + +=xsinit + +#define NEED_newSVpvn_share + =xsubs void @@ -53,6 +59,22 @@ newSVpvs_flags() XPUSHs(newSVpvs_flags("newSVpvs_flags", SVs_TEMP)); XSRETURN(1); +int +newSVpvs_share() + PREINIT: + SV *sv; + U32 hash; + CODE: + RETVAL = 0; + PERL_HASH(hash, "pvs", 3); + sv = newSVpvs_share("pvs"); + RETVAL += strEQ(SvPV_nolen_const(sv), "pvs"); + RETVAL += SvCUR(sv) == 3; + RETVAL += SvSHARED_HASH(sv) == hash; + SvREFCNT_dec(sv); + OUTPUT: + RETVAL + void sv_catpvs(sv) SV *sv @@ -83,13 +105,6 @@ hv_stores(hv, sv) (void) hv_stores((HV *) SvRV(hv), "hv_stores", SvREFCNT_inc_simple(sv)); SV* -gv_fetchpvn_flags() - CODE: - RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSION", sizeof("Devel::PPPort::VERSION")-1, 0, SVt_PV)); - OUTPUT: - RETVAL - -SV* gv_fetchpvs() CODE: RETVAL = newRV_inc((SV*)gv_fetchpvs("Devel::PPPort::VERSION", 0, SVt_PV)); @@ -103,13 +118,29 @@ gv_stashpvs() OUTPUT: RETVAL +int +get_cvs() + PREINIT: + CV* xv; + CODE: + RETVAL = 0; + xv = get_cvs("Devel::PPPort::foobar", 0); + if(xv == NULL) RETVAL++; + xv = get_cvs("Devel::PPPort::foobar", GV_ADDMULTI); + if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++; + xv = get_cvs("Devel::PPPort::get_cvs", 0); + if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++; +OUTPUT: + RETVAL -=tests plan => 11 + +=tests plan => 12 my $x = 'foo'; ok(Devel::PPPort::newSVpvs(), "newSVpvs"); ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags"); +ok(Devel::PPPort::newSVpvs_share(), 3); Devel::PPPort::sv_catpvs($x); ok($x, "foosv_catpvs"); @@ -123,6 +154,7 @@ ok(scalar keys %h, 2); ok(exists $h{'hv_stores'}); ok($h{'hv_stores'}, 4711); ok(Devel::PPPort::hv_fetchs(\%h), 42); -ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION); -ok(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION); -ok(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::); +ok(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION); +ok(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::); + +ok(Devel::PPPort::get_cvs(), 3); diff --git a/cpan/Devel-PPPort/parts/inc/shared_pv b/cpan/Devel-PPPort/parts/inc/shared_pv index db779be835..76b5dee061 100644 --- a/cpan/Devel-PPPort/parts/inc/shared_pv +++ b/cpan/Devel-PPPort/parts/inc/shared_pv @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 5 $ +## $Revision: 7 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:52 +0100 $ +## $Date: 2010/03/07 13:15:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## @@ -22,6 +22,12 @@ __UNDEFINED__ =implementation +/* Hint: newSVpvn_share + * The SVs created by this function only mimic the behaviour of + * shared PVs without really being shared. Only use if you know + * what you're doing. + */ + #ifndef newSVpvn_share #if { NEED newSVpvn_share } diff --git a/cpan/Devel-PPPort/parts/inc/snprintf b/cpan/Devel-PPPort/parts/inc/snprintf index 310bfbaa10..a2d20397d5 100644 --- a/cpan/Devel-PPPort/parts/inc/snprintf +++ b/cpan/Devel-PPPort/parts/inc/snprintf @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 6 $ +## $Revision: 7 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:52 +0100 $ +## $Date: 2010/03/07 13:15:45 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/sprintf b/cpan/Devel-PPPort/parts/inc/sprintf index 6756f9abc9..c7452dc524 100644 --- a/cpan/Devel-PPPort/parts/inc/sprintf +++ b/cpan/Devel-PPPort/parts/inc/sprintf @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 2 $ +## $Revision: 3 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:51 +0100 $ +## $Date: 2010/03/07 13:15:44 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/strlfuncs b/cpan/Devel-PPPort/parts/inc/strlfuncs index d351703e19..f29ccb3f85 100644 --- a/cpan/Devel-PPPort/parts/inc/strlfuncs +++ b/cpan/Devel-PPPort/parts/inc/strlfuncs @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 6 $ +## $Revision: 7 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:52 +0100 $ +## $Date: 2010/03/07 13:15:45 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/sv_xpvf b/cpan/Devel-PPPort/parts/inc/sv_xpvf index 3c990c6e93..c2ad0dfc92 100644 --- a/cpan/Devel-PPPort/parts/inc/sv_xpvf +++ b/cpan/Devel-PPPort/parts/inc/sv_xpvf @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 10 $ +## $Revision: 11 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:53 +0100 $ +## $Date: 2010/03/07 13:15:46 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/threads b/cpan/Devel-PPPort/parts/inc/threads index 518bdf1fcb..7df6bd7f8f 100644 --- a/cpan/Devel-PPPort/parts/inc/threads +++ b/cpan/Devel-PPPort/parts/inc/threads @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 11 $ +## $Revision: 12 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:53 +0100 $ +## $Date: 2010/03/07 13:15:47 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/uv b/cpan/Devel-PPPort/parts/inc/uv index 5fdec7afa0..d1ddd3449d 100644 --- a/cpan/Devel-PPPort/parts/inc/uv +++ b/cpan/Devel-PPPort/parts/inc/uv @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 17 $ +## $Revision: 18 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:54 +0100 $ +## $Date: 2010/03/07 13:15:47 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/variables b/cpan/Devel-PPPort/parts/inc/variables index 515e6200a4..dddeb7984c 100644 --- a/cpan/Devel-PPPort/parts/inc/variables +++ b/cpan/Devel-PPPort/parts/inc/variables @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 20 $ +## $Revision: 21 $ ## $Author: mhx $ -## $Date: 2009/06/12 04:10:50 +0200 $ +## $Date: 2010/03/07 13:15:46 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/version b/cpan/Devel-PPPort/parts/inc/version index ca8d8a6e35..ce87f76f80 100644 --- a/cpan/Devel-PPPort/parts/inc/version +++ b/cpan/Devel-PPPort/parts/inc/version @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 10 $ +## $Revision: 11 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:54 +0100 $ +## $Date: 2010/03/07 13:15:48 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## diff --git a/cpan/Devel-PPPort/parts/inc/warn b/cpan/Devel-PPPort/parts/inc/warn index 76bd881e97..779239fbee 100644 --- a/cpan/Devel-PPPort/parts/inc/warn +++ b/cpan/Devel-PPPort/parts/inc/warn @@ -1,12 +1,12 @@ ################################################################################ ## -## $Revision: 7 $ +## $Revision: 8 $ ## $Author: mhx $ -## $Date: 2009/01/18 14:10:52 +0100 $ +## $Date: 2010/03/07 13:15:45 +0100 $ ## ################################################################################ ## -## Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz. +## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz. ## Version 2.x, Copyright (C) 2001, Paul Marquess. ## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. ## |