ext/Devel/PPPort/parts/base/5009003 Devel::PPPort baseline todo file
ext/Devel/PPPort/parts/base/5009004 Devel::PPPort baseline todo file
ext/Devel/PPPort/parts/base/5009005 Devel::PPPort baseline todo file
+ext/Devel/PPPort/parts/base/5010000 Devel::PPPort baseline todo file
+ext/Devel/PPPort/parts/base/5011000 Devel::PPPort baseline todo file
ext/Devel/PPPort/parts/embed.fnc Devel::PPPort Perl API listing
ext/Devel/PPPort/parts/inc/call Devel::PPPort include
ext/Devel/PPPort/parts/inc/cop Devel::PPPort include
ext/Devel/PPPort/parts/inc/MY_CXT Devel::PPPort include
ext/Devel/PPPort/parts/inc/newCONSTSUB Devel::PPPort include
ext/Devel/PPPort/parts/inc/newRV Devel::PPPort include
+ext/Devel/PPPort/parts/inc/newSVpv Devel::PPPort include
ext/Devel/PPPort/parts/inc/podtest Devel::PPPort include
ext/Devel/PPPort/parts/inc/ppphbin Devel::PPPort include
ext/Devel/PPPort/parts/inc/ppphdoc Devel::PPPort include
ext/Devel/PPPort/parts/todo/5009003 Devel::PPPort todo file
ext/Devel/PPPort/parts/todo/5009004 Devel::PPPort todo file
ext/Devel/PPPort/parts/todo/5009005 Devel::PPPort todo file
+ext/Devel/PPPort/parts/todo/5010000 Devel::PPPort todo file
+ext/Devel/PPPort/parts/todo/5011000 Devel::PPPort todo file
ext/Devel/PPPort/ppport_h.PL Devel::PPPort ppport.h writer
ext/Devel/PPPort/PPPort_pm.PL Devel::PPPort PPPort.pm writer
ext/Devel/PPPort/PPPort.xs Devel::PPPort dummy PPPort.xs
ext/Devel/PPPort/t/MY_CXT.t Devel::PPPort test file
ext/Devel/PPPort/t/newCONSTSUB.t Devel::PPPort test file
ext/Devel/PPPort/t/newRV.t Devel::PPPort test file
-ext/Devel/PPPort/TODO Devel::PPPort Todo
+ext/Devel/PPPort/t/newSVpv.t Devel::PPPort test file
ext/Devel/PPPort/t/podtest.t Devel::PPPort test file
ext/Devel/PPPort/t/ppphtest.t Devel::PPPort test file
ext/Devel/PPPort/t/pvs.t Devel::PPPort test file
ext/Devel/PPPort/t/uv.t Devel::PPPort test file
ext/Devel/PPPort/t/variables.t Devel::PPPort test file
ext/Devel/PPPort/t/warn.t Devel::PPPort test file
+ext/Devel/PPPort/TODO Devel::PPPort Todo
ext/Devel/PPPort/typemap Devel::PPPort Typemap
ext/Digest/MD5/Changes Digest::MD5 extension changes
ext/Digest/MD5/hints/dec_osf.pl Hints for named architecture
+3.13_01 - 2008-01-04
+
+ * fix dependency detection algorithm for functions
+ * fix some potential memory leaks in the test suite
+ * no need to use *_mg functions for mX?PUSH macros
+ * added support for the following API
+ mPUSHs
+ mXPUSHs
+ newSVpvn_flags
+ newSVpvn_utf8
+ newSVpvs_flags
+ SVf_UTF8
+ * make sure soak works with cromfs
+
3.13 - 2007-10-04
* fix cpan #29748: ppport.h problems with perl5.005_05
=head1 DESCRIPTION
-=head2 How to build 111 versions of Perl
+=head2 How to build 114 versions of Perl
C<Devel::PPPort> supports Perl versions between 5.003 and bleadperl.
To guarantee this support, I need some of these versions on my
-machine. I currently have 111 different Perl version/configuration
+machine. I currently have 114 different Perl version/configuration
combinations installed on my laptop.
As many of the old Perl distributions need patching to compile
-cleanly on newer systems (and because building 111 Perls by hand
+cleanly on newer systems (and because building 114 Perls by hand
just isn't fun), I wrote a tool to build all the different
versions and configurations. You can find it in F<devel/buildperl.pl>.
It can currently build the following Perl releases:
5.7.x
5.8.x
5.9.x
+ 5.10.x
=head2 Fully automatic API checks
=head1 COPYRIGHT
-Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
#
################################################################################
#
-# $Revision: 27 $
+# $Revision: 28 $
# $Author: mhx $
-# $Date: 2007/01/02 12:32:27 +0100 $
+# $Date: 2008/01/04 10:47:38 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
#
################################################################################
#
-# $Revision: 57 $
+# $Revision: 59 $
# $Author: mhx $
-# $Date: 2007/09/11 23:28:24 +0200 $
+# $Date: 2008/01/04 10:47:38 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
#
################################################################################
#
-# $Revision: 57 $
+# $Revision: 59 $
# $Author: mhx $
-# $Date: 2007/09/11 23:28:24 +0200 $
+# $Date: 2008/01/04 10:47:38 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
=head1 COPYRIGHT
-Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
use strict;
use vars qw($VERSION $data);
-$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_01 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
sub _init_data
{
%include SvREFCNT
+%include newSVpv
+
%include SvPV
%include Sv_set
#
################################################################################
#
-# $Revision: 13 $
+# $Revision: 14 $
# $Author: mhx $
-# $Date: 2007/01/02 12:32:26 +0100 $
+# $Date: 2008/01/04 10:47:37 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
*
********************************************************************************
*
-* $Revision: 13 $
+* $Revision: 14 $
* $Author: mhx $
-* $Date: 2007/01/02 12:32:26 +0100 $
+* $Date: 2008/01/04 10:47:37 +0100 $
*
********************************************************************************
*
-* Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+* Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
* Version 2.x, Copyright (C) 2001, Paul Marquess.
* Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
*
5. COPYRIGHT
------------
-Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
################################################################################
#
-# $Revision: 9 $
+# $Revision: 10 $
# $Author: mhx $
-# $Date: 2007/01/02 12:32:27 +0100 $
+# $Date: 2008/01/04 10:47:37 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
#
################################################################################
#
-# $Revision: 12 $
+# $Revision: 13 $
# $Author: mhx $
-# $Date: 2007/08/12 15:06:31 +0200 $
+# $Date: 2008/01/04 10:47:39 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
=head1 COPYRIGHT
-Copyright (c) 2004-2007, Marcus Holland-Moritz.
+Copyright (c) 2004-2008, Marcus Holland-Moritz.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
#
################################################################################
#
-# $Revision: 3 $
+# $Revision: 4 $
# $Author: mhx $
-# $Date: 2007/08/12 08:45:38 +0200 $
+# $Date: 2008/01/04 10:47:38 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
#
################################################################################
#
-# $Revision: 10 $
+# $Revision: 11 $
# $Author: mhx $
-# $Date: 2007/08/12 11:50:36 +0200 $
+# $Date: 2008/01/04 10:47:39 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
#
################################################################################
#
-# $Revision: 14 $
+# $Revision: 15 $
# $Author: mhx $
-# $Date: 2007/08/12 08:45:40 +0200 $
+# $Date: 2008/01/04 10:47:39 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
#
################################################################################
#
-# $Revision: 14 $
+# $Revision: 15 $
# $Author: mhx $
-# $Date: 2007/08/12 08:45:39 +0200 $
+# $Date: 2008/01/04 10:47:39 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
#
################################################################################
#
-# $Revision: 6 $
+# $Revision: 7 $
# $Author: mhx $
-# $Date: 2007/08/12 08:45:39 +0200 $
+# $Date: 2008/01/04 10:47:39 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
=head1 COPYRIGHT
-Copyright (c) 2006-2007, Marcus Holland-Moritz.
+Copyright (c) 2006-2008, Marcus Holland-Moritz.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
#
################################################################################
#
-# $Revision: 7 $
+# $Revision: 8 $
# $Author: mhx $
-# $Date: 2007/08/12 08:45:15 +0200 $
+# $Date: 2008/01/04 10:47:39 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
#
################################################################################
#
-# $Revision: 28 $
+# $Revision: 29 $
# $Author: mhx $
-# $Date: 2007/01/02 12:32:26 +0100 $
+# $Date: 2008/01/04 10:47:37 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
*
********************************************************************************
*
-* $Revision: 9 $
+* $Revision: 10 $
* $Author: mhx $
-* $Date: 2007/01/02 12:32:27 +0100 $
+* $Date: 2008/01/04 10:47:38 +0100 $
*
********************************************************************************
*
-* Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+* Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
* Version 2.x, Copyright (C) 2001, Paul Marquess.
* Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
*
*
********************************************************************************
*
-* $Revision: 9 $
+* $Revision: 10 $
* $Author: mhx $
-* $Date: 2007/01/02 12:32:27 +0100 $
+* $Date: 2008/01/04 10:47:38 +0100 $
*
********************************************************************************
*
-* Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+* Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
* Version 2.x, Copyright (C) 2001, Paul Marquess.
* Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
*
#
################################################################################
#
-# $Revision: 27 $
+# $Revision: 29 $
# $Author: mhx $
-# $Date: 2007/08/19 19:41:03 +0200 $
+# $Date: 2008/01/04 12:02:22 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
#define NEED_vload_module
#define NEED_vnewSVpvf
#define NEED_warner
+#define NEED_newSVpvn_flags
#include "ppport.h"
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:
+: !!!!! Do NOT edit this file directly! -- Edit PPPort_pm.PL instead. !!!!!
+:
+: This file was automatically generated from the API documentation scattered
+: all over the Perl source code. To learn more about how all this works,
+: please read the F<HACKERS> file that came with this distribution.
+:
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+:
+: This file lists all API functions/macros that are documented in the Perl
+: source code, but are not contained in F<embed.fnc>.
+:
+
Ama|char*|savepvs|const char* s
Ama|SV*|newSVpvs|const char* s
+Ama|SV*|newSVpvs_flags|const char* s|U32 flags
Ama|SV*|newSVpvs_share|const char* s
Am|bool|isALNUM|char ch
Am|bool|isALPHA|char ch
Am|bool|SvUOK|SV* sv
Am|bool|SvVOK|SV* sv
Am|char*|HePV|HE* he|STRLEN len
+Am|char*|HeUTF8|HE* he|STRLEN len
Am|char*|HvNAME|HV* stash
Am|char*|SvEND|SV* sv
Am|char*|SvGAMAGIC|SV* sv
Am|SV**|hv_fetchs|HV* tb|const char* key|I32 lval
Am|SV**|hv_stores|HV* tb|const char* key|NULLOK SV* val
Am|SV*|newRV_inc|SV* sv
+Am|SV*|newSVpvn_utf8|NULLOK const char* s|STRLEN len|U32 utf8
Am|SV*|ST|int ix
Am|SV*|SvREFCNT_inc_NN|SV* sv
Am|SV*|SvREFCNT_inc_simple_NN|SV* sv
Am|void|mPUSHi|IV iv
Am|void|mPUSHn|NV nv
Am|void|mPUSHp|char* str|STRLEN len
+Am|void|mPUSHs|SV* sv
Am|void|mPUSHu|UV uv
Am|void|mXPUSHi|IV iv
Am|void|mXPUSHn|NV nv
Am|void|mXPUSHp|char* str|STRLEN len
+Am|void|mXPUSHs|SV* sv
Am|void|mXPUSHu|UV uv
Am|void|Newxc|void* ptr|int nitems|type|cast
Am|void|Newx|void* ptr|int nitems|type
gv_fullname3 # U
gv_stashpvn # E
hv_delayfree_ent # E
-hv_delete_ent # E
-hv_exists_ent # E
-hv_fetch_ent # E
+hv_delete_ent # U
+hv_exists_ent # U
+hv_fetch_ent # U
hv_free_ent # E
hv_iterkeysv # E
hv_ksplit # E
-hv_store_ent # E
+hv_store_ent # U
ibcmp_locale # E
my_failure_exit # E
my_memcmp # U
sv_vcatpvfn # E
sv_vsetpvfn # E
unsharepvn # E
+PERL_HASH # added by devel/scanprov
PERL_INT_MAX # added by devel/scanprov
PERL_INT_MIN # added by devel/scanprov
PERL_LONG_MAX # added by devel/scanprov
boolSV # added by devel/scanprov
memEQ # added by devel/scanprov
memNE # added by devel/scanprov
-PERL_HASH # added by devel/scanprov
regnext # E (Perl_regnext)
runops_debug # E
runops_standard # E
-save_hints # E
save_iv # E (save_iv)
screaminstr # E (Perl_screaminstr)
sv_iv # E
PTR2NV # added by devel/scanprov
PTR2UV # added by devel/scanprov
PTRV # added by devel/scanprov
-Perl_warner # added by devel/scanprov
-Perl_warner_nocontext # added by devel/scanprov
SVf # added by devel/scanprov
+SVf_UTF8 # added by devel/scanprov
UVSIZE # added by devel/scanprov
UVTYPE # added by devel/scanprov
UVof # added by devel/scanprov
utf8n_to_uvuni # U
uvuni_to_utf8 # U
PTR2ul # added by devel/scanprov
-UVXf # added by devel/scanprov
SV_IMMEDIATE_UNREF # added by devel/scanprov
+UVXf # added by devel/scanprov
PERL_SCAN_SILENT_ILLDIGIT # added by devel/scanprov
PERL_SIGNALS_UNSAFE_FLAG # added by devel/scanprov
PL_signals # added by devel/scanprov
-XST_mUV # added by devel/scanprov
SV_COW_DROP_PV # added by devel/scanprov
SV_UTF8_NO_ENCODING # added by devel/scanprov
+XST_mUV # added by devel/scanprov
savesvpv # U
vnormal # U
MY_CXT_CLONE # added by devel/scanprov
-UTF8_MAXBYTES # added by devel/scanprov
SV_NOSTEAL # added by devel/scanprov
+UTF8_MAXBYTES # added by devel/scanprov
newSVpvs_share # U
newWHENOP # U
newWHILEOP # E (Perl_newWHILEOP)
-ref # U (Perl_ref)
savepvs # U
sortsv_flags # U
sv_catpvs # U
vverify # U
PERL_UNUSED_ARG # added by devel/scanprov
STR_WITH_LEN # added by devel/scanprov
-SvPVX_const # added by devel/scanprov
-SvPVX_mutable # added by devel/scanprov
-dVAR # added by devel/scanprov
SV_CONST_RETURN # added by devel/scanprov
SV_MUTABLE_RETURN # added by devel/scanprov
SV_SMAGIC # added by devel/scanprov
+SvPVX_const # added by devel/scanprov
+SvPVX_mutable # added by devel/scanprov
SvPV_const # added by devel/scanprov
SvPV_flags_const # added by devel/scanprov
SvPV_flags_const_nolen # added by devel/scanprov
SvPV_nomg_const # added by devel/scanprov
SvPV_nomg_const_nolen # added by devel/scanprov
SvSHARED_HASH # added by devel/scanprov
+dVAR # added by devel/scanprov
sv_usepvn_flags # U
PERL_UNUSED_CONTEXT # added by devel/scanprov
PERL_USE_GCC_BRACE_GROUPS # added by devel/scanprov
-SvVSTRING_mg # added by devel/scanprov
SV_HAS_TRAILING_NUL # added by devel/scanprov
+SvVSTRING_mg # added by devel/scanprov
5.009005
-MULTICALL # E
-POP_MULTICALL # E
-PUSH_MULTICALL # E
Perl_signbit # U
SvRX # U
SvRXOK # U
av_create_and_unshift_one # U
get_cvn_flags # U
gv_fetchfile_flags # U
-hv_assert # U
mro_get_linear_isa # U
-mro_get_linear_isa_c3 # U
-mro_get_linear_isa_dfs # U
mro_method_changed_in # U
my_dirfd # U
newSV_type # U
-pad_sv # U
pregcomp # E (Perl_pregcomp)
ptr_table_clear # U
ptr_table_fetch # U
regfree_internal # U
savesharedpvn # U
scan_vstring # E (Perl_scan_vstring)
-stashpv_hvname_match # U
-sv_magic_portable # U
upg_version # E (Perl_upg_version)
-PERL_BCDVERSION # added by devel/scanprov
-PERL_MAGIC_glob # added by devel/scanprov
-PERL_MAGIC_mutex # added by devel/scanprov
-PL_copline # added by devel/scanprov
-PL_expect # added by devel/scanprov
-WARN_ASSERTIONS # added by devel/scanprov
-aTHXR # added by devel/scanprov
-aTHXR_ # added by devel/scanprov
-dTHXR # added by devel/scanprov
SV_COW_SHARED_HASH_KEYS # added by devel/scanprov
--- /dev/null
+5.010000
+hv_common # U
+hv_common_key_len # U
+sv_destroyable # U
+sys_init # U
+sys_init3 # U
+sys_term # U
--- /dev/null
+5.011000
+HeUTF8 # U
+MULTICALL # E
+POP_MULTICALL # E
+PUSH_MULTICALL # E
+av_iter_p # U
+hv_assert # U
+mPUSHs # U
+mXPUSHs # U
+newSVpvn_flags # U
+newSVpvn_utf8 # U
+newSVpvs_flags # U
+pad_sv # U
+pregfree2 # U
+ref # U (Perl_ref)
+stashpv_hvname_match # U
+sv_magic_portable # U
+PERL_BCDVERSION # added by devel/scanprov
+PERL_MAGIC_glob # added by devel/scanprov
+PERL_MAGIC_mutex # added by devel/scanprov
+PL_copline # added by devel/scanprov
+PL_expect # added by devel/scanprov
+WARN_ASSERTIONS # added by devel/scanprov
+aTHXR # added by devel/scanprov
+aTHXR_ # added by devel/scanprov
+dTHXR # added by devel/scanprov
ApdoxM |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val
Apd |void |av_unshift |NN AV* ar|I32 num
Apo |SV** |av_arylen_p |NN AV* av
+Apo |IV* |av_iter_p |NN AV* av
+#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
+s |MAGIC* |get_aux_mg |NN AV *av
+#endif
pR |OP* |bind_match |I32 type|NN OP* left|NN OP* pat
pR |OP* |block_end |I32 floor|NULLOK OP* seq
ApR |I32 |block_gimme
Ap |bool |do_openn |NN GV *gv|NN const char *name|I32 len|int as_raw \
|int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \
|NULLOK SV **svp|I32 num
-p |void |do_pipe |NN SV* sv|NULLOK GV* rgv|NULLOK GV* wgv
p |bool |do_print |NULLOK SV* sv|NN PerlIO* fp
pR |OP* |do_readline
p |I32 |do_chomp |NN SV* sv
Apd |void |hv_clear |NULLOK HV* tb
poM |HV * |hv_copy_hints_hv|NN HV *const ohv
Ap |void |hv_delayfree_ent|NN HV* hv|NULLOK HE* entry
-Apd |SV* |hv_delete |NULLOK HV* tb|NN const char* key|I32 klen|I32 flags
-Apd |SV* |hv_delete_ent |NULLOK HV* tb|NN SV* key|I32 flags|U32 hash
-ApdR |bool |hv_exists |NULLOK HV* tb|NN const char* key|I32 klen
-ApdR |bool |hv_exists_ent |NULLOK HV* tb|NN SV* key|U32 hash
-Apd |SV** |hv_fetch |NULLOK HV* tb|NN const char* key|I32 klen|I32 lval
-Apd |HE* |hv_fetch_ent |NULLOK HV* tb|NN SV* key|I32 lval|U32 hash
+Abmd |SV* |hv_delete |NULLOK HV* tb|NN const char* key|I32 klen \
+ |I32 flags
+Abmd |SV* |hv_delete_ent |NULLOK HV* tb|NN SV* key|I32 flags|U32 hash
+AbmdR |bool |hv_exists |NULLOK HV* tb|NN const char* key|I32 klen
+AbmdR |bool |hv_exists_ent |NULLOK HV* tb|NN SV* key|U32 hash
+Abmd |SV** |hv_fetch |NULLOK HV* tb|NN const char* key|I32 klen \
+ |I32 lval
+Abmd |HE* |hv_fetch_ent |NULLOK HV* tb|NN SV* key|I32 lval|U32 hash
+Ap |void* |hv_common |NULLOK HV* tb|NULLOK SV* keysv \
+ |NULLOK const char* key|STRLEN klen|int flags \
+ |int action|NULLOK SV* val|U32 hash
+Ap |void* |hv_common_key_len|NULLOK HV *hv|NN const char *key \
+ |I32 klen_i32|const int action|NULLOK SV *val \
+ |const U32 hash
Ap |void |hv_free_ent |NN HV* hv|NULLOK HE* entryK
Apd |I32 |hv_iterinit |NN HV* tb
ApdR |char* |hv_iterkey |NN HE* entry|NN I32* retlen
XEdpoM |struct refcounted_he *|refcounted_he_new \
|NULLOK struct refcounted_he *const parent \
|NULLOK SV *const key|NULLOK SV *const value
-Apd |SV** |hv_store |NULLOK HV* tb|NULLOK const char* key|I32 klen|NULLOK SV* val \
- |U32 hash
-Apd |HE* |hv_store_ent |NULLOK HV* tb|NULLOK SV* key|NULLOK SV* val|U32 hash
-ApM |SV** |hv_store_flags |NULLOK HV* tb|NULLOK const char* key|I32 klen|NULLOK SV* val \
- |U32 hash|int flags
+Abmd |SV** |hv_store |NULLOK HV* tb|NULLOK const char* key \
+ |I32 klen|NULLOK SV* val|U32 hash
+Abmd |HE* |hv_store_ent |NULLOK HV* tb|NULLOK SV* key|NULLOK SV* val|U32 hash
+AbmdM |SV** |hv_store_flags |NULLOK HV* tb|NULLOK const char* key \
+ |I32 klen|NULLOK SV* val|U32 hash|int flags
Apd |void |hv_undef |NULLOK HV* tb
ApP |I32 |ibcmp |NN const char* a|NN const char* b|I32 len
ApP |I32 |ibcmp_locale |NN const char* a|NN const char* b|I32 len
p |int |magic_clearpack|NN SV* sv|NN MAGIC* mg
p |int |magic_clearsig |NN SV* sv|NN MAGIC* mg
p |int |magic_existspack|NN SV* sv|NN const MAGIC* mg
-p |int |magic_freeregexp|NN SV* sv|NN MAGIC* mg
p |int |magic_freeovrld|NN SV* sv|NN MAGIC* mg
p |int |magic_get |NN SV* sv|NN MAGIC* mg
p |int |magic_getarylen|NN SV* sv|NN const MAGIC* mg
p |int |magic_setamagic|NN SV* sv|NN MAGIC* mg
p |int |magic_setarylen|NN SV* sv|NN MAGIC* mg
p |int |magic_freearylen_p|NN SV* sv|NN MAGIC* mg
-p |int |magic_setbm |NN SV* sv|NN MAGIC* mg
p |int |magic_setdbline|NN SV* sv|NN MAGIC* mg
p |int |magic_setdefelem|NN SV* sv|NN MAGIC* mg
p |int |magic_setenv |NN SV* sv|NN MAGIC* mg
-p |int |magic_setfm |NN SV* sv|NN MAGIC* mg
dp |int |magic_sethint |NN SV* sv|NN MAGIC* mg
p |int |magic_setisa |NN SV* sv|NN MAGIC* mg
-p |int |magic_setglob |NN SV* sv|NN MAGIC* mg
p |int |magic_setmglob |NN SV* sv|NN MAGIC* mg
p |int |magic_setnkeys |NN SV* sv|NN MAGIC* mg
p |int |magic_setpack |NN SV* sv|NN MAGIC* mg
Ap |void |mini_mktime |NN struct tm *pm
EXp |OP* |mod |NULLOK OP* o|I32 type
p |int |mode_from_discipline|NULLOK SV* discp
-Ap |char* |moreswitches |NN char* s
+Ap |const char* |moreswitches |NN const char* s
p |OP* |my |NN OP* o
Ap |NV |my_atof |NN const char *s
#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
|NN const char *const filename \
|NULLOK const char *const proto|U32 flags
Apd |CV* |newXS |NULLOK const char* name|NN XSUBADDR_t f|NN const char* filename
-Apda |AV* |newAV
+AmdbR |AV* |newAV
Apa |OP* |newAVREF |NN OP* o
Apa |OP* |newBINOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
Apa |OP* |newCVREF |I32 flags|NULLOK OP* o
Apa |GV* |newGVgen |NN const char* pack
Apa |OP* |newGVREF |I32 type|NULLOK OP* o
ApaR |OP* |newHVREF |NN OP* o
-ApdaR |HV* |newHV
+AmdbR |HV* |newHV
ApaR |HV* |newHVhv |NULLOK HV* hv
Apa |IO* |newIO
Apa |OP* |newLISTOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
Apda |SV* |newSVnv |NV n
Apda |SV* |newSVpv |NULLOK const char* s|STRLEN len
Apda |SV* |newSVpvn |NULLOK const char* s|STRLEN len
+Apda |SV* |newSVpvn_flags |NULLOK const char* s|STRLEN len|U32 flags
Apda |SV* |newSVhek |NULLOK const HEK *hek
Apda |SV* |newSVpvn_share |NULLOK const char* s|I32 len|U32 hash
Afpda |SV* |newSVpvf |NN const char* pat|...
Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
|NN char* strend|NN char* strbeg|I32 minend \
|NN SV* screamer|U32 nosave
-Ap |void |pregfree |NULLOK struct regexp* r
-EXp |struct regexp* |reg_temp_copy |NN struct regexp* r
+Ap |void |pregfree |NULLOK REGEXP* r
+Ap |void |pregfree2 |NN REGEXP* prog
+EXp |REGEXP*|reg_temp_copy |NN REGEXP* r
Ap |void |regfree_internal|NULLOK REGEXP * const r
Ap |char * |reg_stringify |NN MAGIC *mg|NULLOK STRLEN *lp|NULLOK U32 *flags|NULLOK I32 *haseval
#if defined(USE_ITHREADS)
Ap |void |save_gp |NN GV* gv|I32 empty
Ap |HV* |save_hash |NN GV* gv
Ap |void |save_helem |NN HV* hv|NN SV *key|NN SV **sptr
-Apr |void |save_hints
Ap |void |save_hptr |NN HV** hptr
Ap |void |save_I16 |NN I16* intp
Ap |void |save_I32 |NN I32* intp
EXp |void |setdefout |NULLOK GV* gv
Ap |HEK* |share_hek |NN const char* str|I32 len|U32 hash
#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
-np |Signal_t |sighandler |int sig|...
-Anp |Signal_t |csighandler |int sig|...
+np |Signal_t |sighandler |int sig|NULLOK siginfo_t *info|NULLOK void *uap
+Anp |Signal_t |csighandler |int sig|NULLOK siginfo_t *info|NULLOK void *uap
#else
np |Signal_t |sighandler |int sig
Anp |Signal_t |csighandler |int sig
Apd |IV |sv_2iv_flags |NN SV* sv|I32 flags
Apd |SV* |sv_2mortal |NULLOK SV* sv
Apd |NV |sv_2nv |NN SV* sv
+pMd |SV* |sv_2num |NN SV* sv
Amb |char* |sv_2pv |NN SV* sv|NULLOK STRLEN* lp
Apd |char* |sv_2pv_flags |NN SV* sv|NULLOK STRLEN* lp|I32 flags
Apd |char* |sv_2pvutf8 |NN SV* sv|NULLOK STRLEN* lp
ApR |void* |any_dup |NULLOK void* v|NN const PerlInterpreter* proto_perl
ApR |HE* |he_dup |NULLOK const HE* e|bool shared|NN CLONE_PARAMS* param
ApR |HEK* |hek_dup |NULLOK HEK* e|NN CLONE_PARAMS* param
-ApR |REGEXP*|re_dup |NULLOK const REGEXP* r|NN CLONE_PARAMS* param
+Ap |void |re_dup_guts |NN const REGEXP *sstr|NN REGEXP *dstr \
+ |NN CLONE_PARAMS* param
Ap |PerlIO*|fp_dup |NULLOK PerlIO* fp|char type|NN CLONE_PARAMS* param
ApR |DIR* |dirp_dup |NULLOK DIR* dp
ApR |GP* |gp_dup |NULLOK GP* gp|NN CLONE_PARAMS* param
Adp |void |sv_nosharing |NULLOK SV *sv
Adpbm |void |sv_nolocking |NULLOK SV *sv
+Adp |bool |sv_destroyable |NULLOK SV *sv
#ifdef NO_MATHOMS
Adpbm |void |sv_nounlocking |NULLOK SV *sv
#else
#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
s |void |gv_init_sv |NN GV *gv|I32 sv_type
+s |HV* |gv_get_super_pkg|NN const char* name|I32 namelen
s |HV* |require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \
|NN const char *methpv|const U32 flags
#endif
sn |void |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool *needs_store
s |void |unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
sR |HEK* |share_hek_flags|NN const char* sv|I32 len|U32 hash|int flags
-sR |SV* |hv_magic_uvar_xkey|NN HV* hv|NN SV* keysv|int action
rs |void |hv_notallowed |int flags|NN const char *key|I32 klen|NN const char *msg
sn |struct xpvhv_aux*|hv_auxinit|NN HV *hv
sM |SV* |hv_delete_common|NULLOK HV* tb|NULLOK SV* keysv|NULLOK const char* key \
|STRLEN klen|int k_flags|I32 d_flags|U32 hash
-sM |HE* |hv_fetch_common|NULLOK HV* tb|NULLOK SV* keysv|NULLOK const char* key \
- |STRLEN klen|int flags|int action|NULLOK SV* val|U32 hash
sM |void |clear_placeholders |NN HV* hb|U32 items
sM |SV * |refcounted_he_value |NN const struct refcounted_he *he
#endif
pR |OP* |ck_svconst |NN OP *o
pR |OP* |ck_trunc |NN OP *o
pR |OP* |ck_unpack |NN OP *o
+pR |OP* |ck_each |NN OP *o
sRn |bool |is_handle_constructor|NN const OP *o|I32 numargs
sR |I32 |is_list_assignment|NULLOK const OP *o
# ifdef USE_ITHREADS
#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
sR |OP* |docatch |NULLOK OP *o
-s |void |docatch_body
sR |OP* |dofindlabel |NN OP *o|NN const char *label|NN OP **opstack|NN OP **oplimit
sR |OP* |doparseform |NN SV *sv
snR |bool |num_overflow |NV value|I32 fldsize|I32 frcsize
sR |I32 |dopoptogiven |I32 startingblock
sR |I32 |dopoptolabel |NN const char *label
sR |I32 |dopoptoloop |I32 startingblock
-sR |I32 |dopoptosub |I32 startingblock
sR |I32 |dopoptosub_at |NN const PERL_CONTEXT* cxstk|I32 startingblock
sR |I32 |dopoptowhen |I32 startingblock
s |void |save_lines |NULLOK AV *array|NN SV *sv
s |bool |doeval |int gimme|NULLOK OP** startop|NULLOK CV* outside|U32 seq
-sR |PerlIO *|check_type_and_open|NN const char *name|NN const char *mode
-sR |PerlIO *|doopen_pm |NN const char *name|NN const char *mode
+sR |PerlIO *|check_type_and_open|NN const char *name
+#ifndef PERL_DISABLE_PMC
+sR |PerlIO *|doopen_pm |NN const char *name|const STRLEN namelen
+#endif
sRn |bool |path_is_absolute|NN const char *name
sR |I32 |run_user_filter|int idx|NN SV *buf_sv|int maxlen
-sR |PMOP* |make_matcher |NN regexp* re
+sR |PMOP* |make_matcher |NN REGEXP* re
sR |bool |matcher_matches_sv|NN PMOP* matcher|NN SV* sv
s |void |destroy_matcher|NN PMOP* matcher
s |OP* |do_smartmatch |NULLOK HV* seen_this|NULLOK HV* seen_other
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
s |OP* |doform |NN CV *cv|NN GV *gv|NN OP *retop
-s |int |emulate_eaccess|NN const char* path|Mode_t mode
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
sR |int |dooneliner |NN const char *cmd|NN const char *filename
# endif
s |I32 |lop |I32 f|int x|NN char *s
rs |void |missingterm |NULLOK char *s
s |void |no_op |NN const char *what|NULLOK char *s
-s |void |set_csh
sR |I32 |sublex_done
sR |I32 |sublex_push
sR |I32 |sublex_start
sR |char * |filter_gets |NN SV *sv|NN PerlIO *fp|STRLEN append
-sR |HV * |find_in_my_stash|NN const char *pkgname|I32 len
+sR |HV * |find_in_my_stash|NN const char *pkgname|STRLEN len
sR |char * |tokenize_use |int is_use|NN char *s
-s |SV* |new_constant |NULLOK const char *s|STRLEN len|NN const char *key|NN SV *sv \
- |NULLOK SV *pv|NULLOK const char *type
+so |SV* |new_constant |NULLOK const char *s|STRLEN len \
+ |NN const char *key|STRLEN keylen|NN SV *sv \
+ |NULLOK SV *pv|NULLOK const char *type \
+ |STRLEN typelen
s |int |ao |int toketype
-s |const char*|incl_perldb
# if defined(PERL_CR_FILTER)
s |I32 |cr_textfilter |int idx|NULLOK SV *sv|int maxlen
s |void |strip_return |NN SV *sv
Mp |void |addmad |NULLOK MADPROP* tm|NULLOK MADPROP** root \
|char slot
Mp |MADPROP*|newMADsv |char key|NN SV* sv
-Mp |MADPROP*|newMADPROP |char key|char type|NULLOK void* val|I32 vlen
+Mp |MADPROP*|newMADPROP |char key|char type|NULLOK const void* val \
+ |I32 vlen
Mp |void |mad_free |NULLOK MADPROP* mp
# if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
p |struct mro_meta* |mro_meta_dup |NN struct mro_meta* smeta|NN CLONE_PARAMS* param
#endif
Apd |AV* |mro_get_linear_isa|NN HV* stash
-Apd |AV* |mro_get_linear_isa_c3|NN HV* stash|I32 level
-Apd |AV* |mro_get_linear_isa_dfs|NN HV* stash|I32 level
+#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
+sd |AV* |mro_get_linear_isa_c3|NN HV* stash|I32 level
+sd |AV* |mro_get_linear_isa_dfs|NN HV* stash|I32 level
+#endif
pd |void |mro_isa_changed_in|NN HV* stash
Apd |void |mro_method_changed_in |NN HV* stash
p |void |boot_core_mro
+Apon |void |sys_init |NN int* argc|NN char*** argv
+Apon |void |sys_init3 |NN int* argc|NN char*** argv|NN char*** env
+Apon |void |sys_term
+
END_EXTERN_C
/*
################################################################################
##
-## $Revision: 14 $
+## $Revision: 15 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:34 +0100 $
+## $Date: 2008/01/04 10:47:43 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 18 $
+## $Revision: 19 $
## $Author: mhx $
-## $Date: 2007/09/11 23:19:51 +0200 $
+## $Date: 2008/01/04 10:47:43 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 2 $
+## $Revision: 4 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:28 +0100 $
+## $Date: 2008/01/04 14:54:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
SV *sv, *svr;
PPCODE:
sv = newSV(0);
- XPUSHs(newSViv(SvREFCNT(sv) == 1));
+ mXPUSHi(SvREFCNT(sv) == 1);
svr = SvREFCNT_inc(sv);
- XPUSHs(newSViv(sv == svr));
- XPUSHs(newSViv(SvREFCNT(sv) == 2));
+ mXPUSHi(sv == svr);
+ mXPUSHi(SvREFCNT(sv) == 2);
svr = SvREFCNT_inc_simple(sv);
- XPUSHs(newSViv(sv == svr));
- XPUSHs(newSViv(SvREFCNT(sv) == 3));
+ mXPUSHi(sv == svr);
+ mXPUSHi(SvREFCNT(sv) == 3);
svr = SvREFCNT_inc_NN(sv);
- XPUSHs(newSViv(sv == svr));
- XPUSHs(newSViv(SvREFCNT(sv) == 4));
+ mXPUSHi(sv == svr);
+ mXPUSHi(SvREFCNT(sv) == 4);
svr = SvREFCNT_inc_simple_NN(sv);
- XPUSHs(newSViv(sv == svr));
- XPUSHs(newSViv(SvREFCNT(sv) == 5));
+ mXPUSHi(sv == svr);
+ mXPUSHi(SvREFCNT(sv) == 5);
SvREFCNT_inc_void(sv);
- XPUSHs(newSViv(SvREFCNT(sv) == 6));
+ mXPUSHi(SvREFCNT(sv) == 6);
SvREFCNT_inc_simple_void(sv);
- XPUSHs(newSViv(SvREFCNT(sv) == 7));
+ mXPUSHi(SvREFCNT(sv) == 7);
SvREFCNT_inc_void_NN(sv);
- XPUSHs(newSViv(SvREFCNT(sv) == 8));
+ mXPUSHi(SvREFCNT(sv) == 8);
SvREFCNT_inc_simple_void_NN(sv);
- XPUSHs(newSViv(SvREFCNT(sv) == 9));
+ mXPUSHi(SvREFCNT(sv) == 9);
while (SvREFCNT(sv) > 1)
SvREFCNT_dec(sv);
- XPUSHs(newSViv(SvREFCNT(sv) == 1));
+ mXPUSHi(SvREFCNT(sv) == 1);
SvREFCNT_dec(sv);
XSRETURN(14);
################################################################################
##
-## $Revision: 5 $
+## $Revision: 6 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:29 +0100 $
+## $Date: 2008/01/04 10:47:41 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 15 $
+## $Revision: 17 $
## $Author: mhx $
-## $Date: 2007/08/18 20:16:11 +0200 $
+## $Date: 2008/01/04 14:54:42 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
i = eval_sv(sv, flags);
SPAGAIN;
EXTEND(SP, 1);
- PUSHs(sv_2mortal(newSViv(i)));
+ mPUSHi(i);
void
eval_pv(p, croak_on_error)
i = call_sv(sv, flags);
SPAGAIN;
EXTEND(SP, 1);
- PUSHs(sv_2mortal(newSViv(i)));
+ mPUSHi(i);
void
call_pv(subname, flags, ...)
i = call_pv(subname, flags);
SPAGAIN;
EXTEND(SP, 1);
- PUSHs(sv_2mortal(newSViv(i)));
+ mPUSHi(i);
void
call_argv(subname, flags, ...)
i = call_argv(subname, flags, args);
SPAGAIN;
EXTEND(SP, 1);
- PUSHs(sv_2mortal(newSViv(i)));
+ mPUSHi(i);
void
call_method(methname, flags, ...)
i = call_method(methname, flags);
SPAGAIN;
EXTEND(SP, 1);
- PUSHs(sv_2mortal(newSViv(i)));
+ mPUSHi(i);
void
load_module(flags, name, version, ...)
################################################################################
##
-## $Revision: 6 $
+## $Revision: 7 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:32 +0100 $
+## $Date: 2008/01/04 10:47:42 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 5 $
+## $Revision: 6 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:31 +0100 $
+## $Date: 2008/01/04 10:47:41 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 6 $
+## $Revision: 7 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:33 +0100 $
+## $Date: 2008/01/04 10:47:43 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 14 $
+## $Revision: 15 $
## $Author: mhx $
-## $Date: 2007/09/11 23:20:41 +0200 $
+## $Date: 2008/01/04 10:47:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 5 $
+## $Revision: 6 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:33 +0100 $
+## $Date: 2008/01/04 10:47:42 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 7 $
+## $Revision: 10 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:32 +0100 $
+## $Date: 2008/01/04 13:11:16 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
=implementation
+__UNDEFINED__ mPUSHs(s) PUSHs(sv_2mortal(s))
__UNDEFINED__ PUSHmortal PUSHs(sv_newmortal())
-__UNDEFINED__ mPUSHp(p,l) sv_setpvn_mg(PUSHmortal, (p), (l))
-__UNDEFINED__ mPUSHn(n) sv_setnv_mg(PUSHmortal, (NV)(n))
-__UNDEFINED__ mPUSHi(i) sv_setiv_mg(PUSHmortal, (IV)(i))
-__UNDEFINED__ mPUSHu(u) sv_setuv_mg(PUSHmortal, (UV)(u))
+__UNDEFINED__ mPUSHp(p,l) sv_setpvn(PUSHmortal, (p), (l))
+__UNDEFINED__ mPUSHn(n) sv_setnv(PUSHmortal, (NV)(n))
+__UNDEFINED__ mPUSHi(i) sv_setiv(PUSHmortal, (IV)(i))
+__UNDEFINED__ mPUSHu(u) sv_setuv(PUSHmortal, (UV)(u))
+__UNDEFINED__ mXPUSHs(s) XPUSHs(sv_2mortal(s))
__UNDEFINED__ XPUSHmortal XPUSHs(sv_newmortal())
-__UNDEFINED__ mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn_mg(PUSHmortal, (p), (l)); } STMT_END
-__UNDEFINED__ mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv_mg(PUSHmortal, (NV)(n)); } STMT_END
-__UNDEFINED__ mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv_mg(PUSHmortal, (IV)(i)); } STMT_END
-__UNDEFINED__ mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv_mg(PUSHmortal, (UV)(u)); } STMT_END
+__UNDEFINED__ mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn(PUSHmortal, (p), (l)); } STMT_END
+__UNDEFINED__ mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END
+__UNDEFINED__ mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END
+__UNDEFINED__ mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END
=xsubs
void
+mPUSHs()
+ PPCODE:
+ EXTEND(SP, 3);
+ mPUSHs(newSVpv("foo", 0));
+ mPUSHs(newSVpv("bar13", 3));
+ mPUSHs(newSViv(42));
+ XSRETURN(3);
+
+void
mPUSHp()
PPCODE:
EXTEND(SP, 3);
XSRETURN(3);
void
+mXPUSHs()
+ PPCODE:
+ mXPUSHs(newSVpv("foo", 0));
+ mXPUSHs(newSVpv("bar13", 3));
+ mXPUSHs(newSViv(42));
+ XSRETURN(3);
+
+void
mXPUSHp()
PPCODE:
mXPUSHp("one", 3);
mXPUSHu(3);
XSRETURN(3);
-=tests plan => 8
+=tests plan => 10
+ok(join(':', &Devel::PPPort::mPUSHs()), "foo:bar:42");
ok(join(':', &Devel::PPPort::mPUSHp()), "one:two:three");
ok(join(':', &Devel::PPPort::mPUSHn()), "0.5:-0.25:0.125");
ok(join(':', &Devel::PPPort::mPUSHi()), "-1:2:-3");
ok(join(':', &Devel::PPPort::mPUSHu()), "1:2:3");
+ok(join(':', &Devel::PPPort::mXPUSHs()), "foo:bar:42");
ok(join(':', &Devel::PPPort::mXPUSHp()), "one:two:three");
ok(join(':', &Devel::PPPort::mXPUSHn()), "0.5:-0.25:0.125");
ok(join(':', &Devel::PPPort::mXPUSHi()), "-1:2:-3");
################################################################################
##
-## $Revision: 15 $
+## $Revision: 16 $
## $Author: mhx $
-## $Date: 2007/09/11 23:20:42 +0200 $
+## $Date: 2008/01/04 10:47:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 3 $
+## $Revision: 4 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:31 +0100 $
+## $Date: 2008/01/04 10:47:41 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 41 $
+## $Revision: 44 $
## $Author: mhx $
-## $Date: 2007/08/20 18:33:10 +0200 $
+## $Date: 2008/01/04 14:54:43 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
__UNDEFINED__ ERRSV get_sv("@",FALSE)
-__UNDEFINED__ newSVpvn(data,len) ((data) \
- ? ((len) ? newSVpv((data), (len)) : newSVpv("", 0)) \
- : newSV(0))
-
/* Hint: gv_stashpvn
* This function's backport doesn't support the length parameter, but
* rather ignores it. Portability can only be ensured if the length
IV iv;
SP -= items;
iv = SvIV(ST(0)) - 1;
- PUSHs(sv_2mortal(newSViv(iv)));
+ mPUSHi(iv);
XSRETURN(1);
}
RETVAL
void
-newSVpvn()
- PPCODE:
- XPUSHs(newSVpvn("test", 4));
- XPUSHs(newSVpvn("test", 2));
- XPUSHs(newSVpvn("test", 0));
- XPUSHs(newSVpvn(NULL, 2));
- XPUSHs(newSVpvn(NULL, 0));
- XSRETURN(5);
-
-void
xsreturn(two)
int two
PPCODE:
- XPUSHs(newSVpvn("test1", 5));
+ mXPUSHp("test1", 5);
if (two)
- XPUSHs(newSVpvn("test2", 5));
+ mXPUSHp("test2", 5);
if (two)
XSRETURN(2);
else
{
dXSTARG;
XSprePUSH;
- PUSHi(42);
+ mPUSHi(42);
XSRETURN(1);
}
SV *x
PPCODE:
#if { VERSION >= 5.004 }
- x = newSVpvf("[%"SVf"]", x);
+ x = sv_2mortal(newSVpvf("[%"SVf"]", x));
#endif
XPUSHs(x);
XSRETURN(1);
-=tests plan => 38
+=tests plan => 32
use vars qw($my_sv @my_av %my_hv);
-my @s = &Devel::PPPort::newSVpvn();
-ok(@s == 5);
-ok($s[0], "test");
-ok($s[1], "te");
-ok($s[2], "");
-ok(!defined($s[3]));
-ok(!defined($s[4]));
-
ok(&Devel::PPPort::boolSV(1));
ok(!&Devel::PPPort::boolSV(0));
################################################################################
##
-## $Revision: 12 $
+## $Revision: 13 $
## $Author: mhx $
-## $Date: 2007/09/11 23:20:42 +0200 $
+## $Date: 2008/01/04 10:47:43 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 7 $
+## $Revision: 8 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:33 +0100 $
+## $Date: 2008/01/04 10:47:43 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
--- /dev/null
+################################################################################
+##
+## $Revision: 4 $
+## $Author: mhx $
+## $Date: 2008/01/04 13:10:54 +0100 $
+##
+################################################################################
+##
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
+## Version 2.x, Copyright (C) 2001, Paul Marquess.
+## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+## This program is free software; you can redistribute it and/or
+## modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+newSVpvn_flags
+
+=implementation
+
+__UNDEFINED__ newSVpvn(data,len) ((data) \
+ ? ((len) ? newSVpv((data), (len)) : newSVpv("", 0)) \
+ : newSV(0))
+
+__UNDEFINED__ newSVpvn_utf8(s, len, u) newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0)
+
+__UNDEFINED__ SVf_UTF8 0
+
+#ifndef newSVpvn_flags
+
+#if { NEED newSVpvn_flags }
+
+SV *
+newSVpvn_flags(pTHX_ const char *s, STRLEN len, U32 flags)
+{
+ SV *sv = newSVpvn(s, len);
+ SvFLAGS(sv) |= (flags & SVf_UTF8);
+ return (flags & SVs_TEMP) ? sv_2mortal(sv) : sv;
+}
+
+#endif
+
+#endif
+
+=xsinit
+
+#define NEED_newSVpvn_flags
+
+=xsubs
+
+void
+newSVpvn()
+ PPCODE:
+ mXPUSHs(newSVpvn("test", 4));
+ mXPUSHs(newSVpvn("test", 2));
+ mXPUSHs(newSVpvn("test", 0));
+ mXPUSHs(newSVpvn(NULL, 2));
+ mXPUSHs(newSVpvn(NULL, 0));
+ XSRETURN(5);
+
+void
+newSVpvn_flags()
+ PPCODE:
+ XPUSHs(newSVpvn_flags("test", 4, SVs_TEMP));
+ XPUSHs(newSVpvn_flags("test", 2, SVs_TEMP));
+ XPUSHs(newSVpvn_flags("test", 0, SVs_TEMP));
+ XPUSHs(newSVpvn_flags(NULL, 2, SVs_TEMP));
+ XPUSHs(newSVpvn_flags(NULL, 0, SVs_TEMP));
+ XSRETURN(5);
+
+void
+newSVpvn_utf8()
+ PPCODE:
+ XPUSHs(newSVpvn_flags("test", 4, SVs_TEMP|SVf_UTF8));
+ XSRETURN(1);
+
+=tests plan => 15
+
+my @s = &Devel::PPPort::newSVpvn();
+ok(@s == 5);
+ok($s[0], "test");
+ok($s[1], "te");
+ok($s[2], "");
+ok(!defined($s[3]));
+ok(!defined($s[4]));
+
+@s = &Devel::PPPort::newSVpvn_flags();
+ok(@s == 5);
+ok($s[0], "test");
+ok($s[1], "te");
+ok($s[2], "");
+ok(!defined($s[3]));
+ok(!defined($s[4]));
+
+@s = &Devel::PPPort::newSVpvn_utf8();
+ok(@s == 1);
+ok($s[0], "test");
+
+if ($] >= 5.008001) {
+ require utf8;
+ ok(utf8::is_utf8($s[0]));
+}
+else {
+ skip("skip: no is_utf8()", 0);
+}
################################################################################
##
-## $Revision: 7 $
+## $Revision: 8 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:28 +0100 $
+## $Date: 2008/01/04 10:47:40 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 45 $
+## $Revision: 47 $
## $Author: mhx $
-## $Date: 2007/09/11 23:18:31 +0200 $
+## $Date: 2008/01/04 12:03:30 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
my @n = find_api($function->[1]);
push @{$depends{$function->[0]}}, @n if @n
}
- undef $define;
+ undef $function;
}
else {
$function->[1] .= $_;
################################################################################
##
-## $Revision: 30 $
+## $Revision: 31 $
## $Author: mhx $
-## $Date: 2007/05/22 21:26:46 +0200 $
+## $Date: 2008/01/04 10:47:42 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
=head1 COPYRIGHT
-Version 3.x, Copyright (c) 2004-2007, Marcus Holland-Moritz.
+Version 3.x, Copyright (c) 2004-2008, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
################################################################################
##
-## $Revision: 41 $
+## $Revision: 42 $
## $Author: mhx $
-## $Date: 2007/09/11 23:18:33 +0200 $
+## $Date: 2008/01/04 10:47:42 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 6 $
+## $Revision: 8 $
## $Author: mhx $
-## $Date: 2007/10/04 12:26:54 +0200 $
+## $Date: 2008/01/04 12:02:59 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
__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__ 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)
void
newSVpvs()
PPCODE:
- XPUSHs(newSVpvs("newSVpvs"));
+ mXPUSHs(newSVpvs("newSVpvs"));
+ XSRETURN(1);
+
+void
+newSVpvs_flags()
+ PPCODE:
+ XPUSHs(newSVpvs_flags("newSVpvs_flags", SVs_TEMP));
XSRETURN(1);
void
PPCODE:
(void) hv_stores((HV *) SvRV(hv), "hv_stores", SvREFCNT_inc_simple(sv));
-=tests plan => 7
+=tests plan => 8
my $x = 'foo';
ok(Devel::PPPort::newSVpvs(), "newSVpvs");
+ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags");
Devel::PPPort::sv_catpvs($x);
ok($x, "foosv_catpvs");
################################################################################
##
-## $Revision: 3 $
+## $Revision: 4 $
## $Author: mhx $
-## $Date: 2007/09/11 23:20:42 +0200 $
+## $Date: 2008/01/04 10:47:40 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 2 $
+## $Revision: 4 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:28 +0100 $
+## $Date: 2008/01/04 14:54:43 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
int len;
PPCODE:
len = my_snprintf(buf, sizeof buf, "foo%s%d", "bar", 42);
- XPUSHs(newSViv(len));
- XPUSHs(newSVpv(buf, 0));
+ mXPUSHi(len);
+ mXPUSHs(newSVpv(buf, 0));
XSRETURN(2);
=tests plan => 2
################################################################################
##
-## $Revision: 3 $
+## $Revision: 5 $
## $Author: mhx $
-## $Date: 2007/01/02 12:32:28 +0100 $
+## $Date: 2008/01/04 14:54:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
int len;
PPCODE:
len = my_strlcpy(buf, "foo", sizeof(buf));
- XPUSHs(newSViv(len));
- XPUSHs(newSVpv(buf, 0));
+ mXPUSHi(len);
+ mXPUSHs(newSVpv(buf, 0));
len = my_strlcat(buf, "bar", sizeof(buf));
- XPUSHs(newSViv(len));
- XPUSHs(newSVpv(buf, 0));
+ mXPUSHi(len);
+ mXPUSHs(newSVpv(buf, 0));
len = my_strlcat(buf, "baz", sizeof(buf));
- XPUSHs(newSViv(len));
- XPUSHs(newSVpv(buf, 0));
+ mXPUSHi(len);
+ mXPUSHs(newSVpv(buf, 0));
len = my_strlcpy(buf, "1234567890", sizeof(buf));
- XPUSHs(newSViv(len));
- XPUSHs(newSVpv(buf, 0));
+ mXPUSHi(len);
+ mXPUSHs(newSVpv(buf, 0));
len = my_strlcpy(buf, "1234", sizeof(buf));
- XPUSHs(newSViv(len));
- XPUSHs(newSVpv(buf, 0));
+ mXPUSHi(len);
+ mXPUSHs(newSVpv(buf, 0));
len = my_strlcat(buf, "567890123456", sizeof(buf));
- XPUSHs(newSViv(len));
- XPUSHs(newSVpv(buf, 0));
+ mXPUSHi(len);
+ mXPUSHs(newSVpv(buf, 0));
XSRETURN(12);
=tests plan => 13
################################################################################
##
-## $Revision: 8 $
+## $Revision: 9 $
## $Author: mhx $
-## $Date: 2007/09/11 23:20:43 +0200 $
+## $Date: 2008/01/04 10:47:41 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 9 $
+## $Revision: 10 $
## $Author: mhx $
-## $Date: 2007/08/18 20:16:12 +0200 $
+## $Date: 2008/01/04 10:47:42 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 15 $
+## $Revision: 16 $
## $Author: mhx $
-## $Date: 2007/08/12 15:53:17 +0200 $
+## $Date: 2008/01/04 10:47:42 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 13 $
+## $Revision: 15 $
## $Author: mhx $
-## $Date: 2007/10/04 10:21:28 +0200 $
+## $Date: 2008/01/04 14:54:44 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
extern U32 get_PL_signals_2(void);
extern U32 get_PL_signals_3(void);
-#define ppp_TESTVAR(var) STMT_START { XPUSHs(newSViv(&var != NULL)); count++; } STMT_END
+#define ppp_TESTVAR(var) STMT_START { mXPUSHi(&var != NULL); count++; } STMT_END
=xsubs
char *string
PPCODE:
PUSHMARK(SP);
- XPUSHs(sv_2mortal(newSVpv(string, 0)));
+ mXPUSHs(newSVpv(string, 0));
PUTBACK;
ENTER;
(void)*(PL_ppaddr[OP_UC])(aTHXR);
################################################################################
##
-## $Revision: 8 $
+## $Revision: 9 $
## $Author: mhx $
-## $Date: 2007/08/13 23:00:34 +0200 $
+## $Date: 2008/01/04 10:47:43 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
################################################################################
##
-## $Revision: 5 $
+## $Revision: 6 $
## $Author: mhx $
-## $Date: 2007/08/12 23:57:10 +0200 $
+## $Date: 2008/01/04 10:47:41 +0100 $
##
################################################################################
##
-## Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+## Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
-: $Revision: 1 $
+: $Revision: 2 $
: $Author: mhx $
-: $Date: 2007/08/12 15:02:00 +0200 $
+: $Date: 2008/01/04 10:47:39 +0100 $
:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
-: Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+: Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
: Version 2.x, Copyright (C) 2001, Paul Marquess.
: Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
:
#
################################################################################
#
-# $Revision: 22 $
+# $Revision: 23 $
# $Author: mhx $
-# $Date: 2007/08/19 01:18:23 +0200 $
+# $Date: 2008/01/04 10:47:40 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
regnext # E (Perl_regnext)
runops_debug # U
runops_standard # U
-save_hints # U
save_iv # U (save_iv)
screaminstr # E (Perl_screaminstr)
sv_iv # U
sv_nv # U
sv_peek # U
+sv_pvn # U
+sv_pvn_nomg # U
sv_true # U
newSVpvs_share # U
newWHENOP # U
newWHILEOP # E (Perl_newWHILEOP)
-ref # U (Perl_ref)
savepvs # U
sortsv_flags # U
vverify # U
5.009005
-MULTICALL # E
-POP_MULTICALL # E
-PUSH_MULTICALL # E
Perl_signbit # U
SvRX # U
SvRXOK # U
av_create_and_unshift_one # U
get_cvn_flags # U
gv_fetchfile_flags # U
-hv_assert # U
mro_get_linear_isa # U
-mro_get_linear_isa_c3 # U
-mro_get_linear_isa_dfs # U
mro_method_changed_in # U
my_dirfd # U
newSV_type # U
-pad_sv # U
pregcomp # E (Perl_pregcomp)
ptr_table_clear # U
ptr_table_fetch # U
regfree_internal # U
savesharedpvn # U
scan_vstring # E (Perl_scan_vstring)
-stashpv_hvname_match # U
upg_version # E (Perl_upg_version)
--- /dev/null
+5.010000
+hv_common # U
+hv_common_key_len # U
+sv_destroyable # U
+sys_init # U
+sys_init3 # U
+sys_term # U
--- /dev/null
+5.011000
+HeUTF8 # U
+MULTICALL # E
+POP_MULTICALL # E
+PUSH_MULTICALL # E
+av_iter_p # U
+hv_assert # U
+pad_sv # U
+pregfree2 # U
+ref # U (Perl_ref)
+stashpv_hvname_match # U
#
################################################################################
#
-# $Revision: 16 $
+# $Revision: 18 $
# $Author: mhx $
-# $Date: 2007/08/12 23:25:33 +0200 $
+# $Date: 2008/01/04 10:47:38 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
use List::Util qw(max);
use Config;
-my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.13_01 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
$| = 1;
my %OPT = (
if (-d $arg) {
my @found;
print "Searching for Perl binaries in '$arg'...\n";
- find(sub {
+ find({ wanted => sub {
$File::Find::name =~ m!perl5[\w._]+$!
and -f $File::Find::name
and -x $File::Find::name
and perl_version($File::Find::name)
and push @found, $File::Find::name;
- }, $arg);
+ }, follow => 1 }, $arg);
printf "Found %d Perl binar%s in '%s'.\n\n", cs(@found, 'y', 'ies'), $arg;
push @perls, @found;
}
=head1 COPYRIGHT
-Version 3.x, Copyright (c) 2004-2007, Marcus Holland-Moritz.
+Version 3.x, Copyright (c) 2004-2008, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
require 'testutil.pl' if $@;
}
- if (8) {
+ if (10) {
load();
- plan(tests => 8);
+ plan(tests => 10);
}
}
package main;
+ok(join(':', &Devel::PPPort::mPUSHs()), "foo:bar:42");
ok(join(':', &Devel::PPPort::mPUSHp()), "one:two:three");
ok(join(':', &Devel::PPPort::mPUSHn()), "0.5:-0.25:0.125");
ok(join(':', &Devel::PPPort::mPUSHi()), "-1:2:-3");
ok(join(':', &Devel::PPPort::mPUSHu()), "1:2:3");
+ok(join(':', &Devel::PPPort::mXPUSHs()), "foo:bar:42");
ok(join(':', &Devel::PPPort::mXPUSHp()), "one:two:three");
ok(join(':', &Devel::PPPort::mXPUSHn()), "0.5:-0.25:0.125");
ok(join(':', &Devel::PPPort::mXPUSHi()), "-1:2:-3");
require 'testutil.pl' if $@;
}
- if (38) {
+ if (32) {
load();
- plan(tests => 38);
+ plan(tests => 32);
}
}
use vars qw($my_sv @my_av %my_hv);
-my @s = &Devel::PPPort::newSVpvn();
-ok(@s == 5);
-ok($s[0], "test");
-ok($s[1], "te");
-ok($s[2], "");
-ok(!defined($s[3]));
-ok(!defined($s[4]));
-
ok(&Devel::PPPort::boolSV(1));
ok(!&Devel::PPPort::boolSV(0));
--- /dev/null
+################################################################################
+#
+# !!!!! Do NOT edit this file directly! !!!!!
+#
+# Edit mktests.PL and/or parts/inc/newSVpv instead.
+#
+# This file was automatically generated from the definition files in the
+# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+# works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+ if ($ENV{'PERL_CORE'}) {
+ chdir 't' if -d 't';
+ @INC = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';
+ require Config; import Config;
+ use vars '%Config';
+ if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+ print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+ exit 0;
+ }
+ }
+ else {
+ unshift @INC, 't';
+ }
+
+ sub load {
+ eval "use Test";
+ require 'testutil.pl' if $@;
+ }
+
+ if (15) {
+ load();
+ plan(tests => 15);
+ }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+@ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my @s = &Devel::PPPort::newSVpvn();
+ok(@s == 5);
+ok($s[0], "test");
+ok($s[1], "te");
+ok($s[2], "");
+ok(!defined($s[3]));
+ok(!defined($s[4]));
+
+@s = &Devel::PPPort::newSVpvn_flags();
+ok(@s == 5);
+ok($s[0], "test");
+ok($s[1], "te");
+ok($s[2], "");
+ok(!defined($s[3]));
+ok(!defined($s[4]));
+
+@s = &Devel::PPPort::newSVpvn_utf8();
+ok(@s == 1);
+ok($s[0], "test");
+
+if ($] >= 5.008001) {
+ require utf8;
+ ok(utf8::is_utf8($s[0]));
+}
+else {
+ skip("skip: no is_utf8()", 0);
+}
+
require 'testutil.pl' if $@;
}
- if (7) {
+ if (8) {
load();
- plan(tests => 7);
+ plan(tests => 8);
}
}
my $x = 'foo';
ok(Devel::PPPort::newSVpvs(), "newSVpvs");
+ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags");
Devel::PPPort::sv_catpvs($x);
ok($x, "foosv_catpvs");
#
################################################################################
#
-# $Revision: 6 $
+# $Revision: 7 $
# $Author: mhx $
-# $Date: 2007/01/02 12:32:26 +0100 $
+# $Date: 2008/01/04 10:47:37 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#