From 9f45becdcc247e15d9308c5adfc4335e2c3a2e6e Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Mon, 25 Jul 2022 08:44:31 +0900 Subject: [PATCH] Imported Upstream version 2.0207 --- Changes | 5 +++++ LibXML.pm | 8 ++++---- LibXML.pod | 2 +- MANIFEST | 1 + META.json | 6 +++--- META.yml | 4 ++-- docs/libxml.dbk | 2 +- lib/XML/LibXML/Attr.pod | 2 +- lib/XML/LibXML/AttributeHash.pm | 2 +- lib/XML/LibXML/Boolean.pm | 2 +- lib/XML/LibXML/CDATASection.pod | 2 +- lib/XML/LibXML/Comment.pod | 2 +- lib/XML/LibXML/Common.pm | 3 +-- lib/XML/LibXML/Common.pod | 2 +- lib/XML/LibXML/DOM.pod | 2 +- lib/XML/LibXML/Devel.pm | 2 +- lib/XML/LibXML/Document.pod | 2 +- lib/XML/LibXML/DocumentFragment.pod | 2 +- lib/XML/LibXML/Dtd.pod | 2 +- lib/XML/LibXML/Element.pod | 2 +- lib/XML/LibXML/ErrNo.pm | 2 +- lib/XML/LibXML/ErrNo.pod | 2 +- lib/XML/LibXML/Error.pm | 7 +++---- lib/XML/LibXML/Error.pod | 2 +- lib/XML/LibXML/InputCallback.pod | 2 +- lib/XML/LibXML/Literal.pm | 2 +- lib/XML/LibXML/Namespace.pod | 2 +- lib/XML/LibXML/Node.pod | 2 +- lib/XML/LibXML/NodeList.pm | 2 +- lib/XML/LibXML/Number.pm | 2 +- lib/XML/LibXML/PI.pod | 2 +- lib/XML/LibXML/Parser.pod | 2 +- lib/XML/LibXML/Pattern.pod | 2 +- lib/XML/LibXML/Reader.pm | 2 +- lib/XML/LibXML/Reader.pod | 2 +- lib/XML/LibXML/RegExp.pod | 2 +- lib/XML/LibXML/RelaxNG.pod | 2 +- lib/XML/LibXML/SAX.pm | 2 +- lib/XML/LibXML/SAX.pod | 2 +- lib/XML/LibXML/SAX/Builder.pm | 2 +- lib/XML/LibXML/SAX/Builder.pod | 2 +- lib/XML/LibXML/SAX/Generator.pm | 2 +- lib/XML/LibXML/SAX/Parser.pm | 2 +- lib/XML/LibXML/Schema.pod | 2 +- lib/XML/LibXML/Text.pod | 2 +- lib/XML/LibXML/XPathContext.pm | 2 +- lib/XML/LibXML/XPathContext.pod | 2 +- lib/XML/LibXML/XPathExpression.pod | 2 +- perl-libxml-mm.c | 2 +- t/48_gh_pr63_detect_undef_values.t | 34 ++++++++++++++++++++++++++++++++++ t/pod-files-presence.t | 8 +++++++- 51 files changed, 102 insertions(+), 58 deletions(-) create mode 100644 t/48_gh_pr63_detect_undef_values.t diff --git a/Changes b/Changes index e26f62b..e00313e 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,10 @@ Revision history for Perl extension XML::LibXML +2.0207 2021-04-17 + - Small cleanups: + - https://github.com/shlomif/perl-XML-LibXML/pull/63 + - Thanks to @Grinnz , @Kritzefitz and @atoomic . + 2.0206 2020-09-15 - Add expand_entities => 1 to the instantiation at lib/XML/LibXML/SAX.pm - in order to fix https://rt.cpan.org/Public/Bug/Display.html?id=132759 diff --git a/LibXML.pm b/LibXML.pm index f437ce6..7f033ca 100644 --- a/LibXML.pm +++ b/LibXML.pm @@ -29,11 +29,11 @@ use XML::LibXML::XPathContext; use IO::Handle; # for FH reads called as methods BEGIN { -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE $ABI_VERSION = 2; require Exporter; -require DynaLoader; -@ISA = qw(DynaLoader Exporter); +use XSLoader (); +@ISA = qw(Exporter); use vars qw($__PROXY_NODE_REGISTRY $__threads_shared $__PROXY_NODE_REGISTRY_MUTEX $__loaded); @@ -147,7 +147,7 @@ $CloseCB = undef; #-------------------------------------------------------------------------# # bootstrapping # #-------------------------------------------------------------------------# -bootstrap XML::LibXML $VERSION; +XSLoader::load( 'XML::LibXML', $VERSION ); undef &AUTOLOAD; *encodeToUTF8 = \&XML::LibXML::Common::encodeToUTF8; diff --git a/LibXML.pod b/LibXML.pod index 16aa47b..73a9e50 100644 --- a/LibXML.pod +++ b/LibXML.pod @@ -507,7 +507,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/MANIFEST b/MANIFEST index f3ba579..4297696 100644 --- a/MANIFEST +++ b/MANIFEST @@ -161,6 +161,7 @@ t/46err_column.t t/47load_xml_callbacks.t t/48_RH5_double_free_rt83779.t t/48_SAX_Builder_rt_91433.t +t/48_gh_pr63_detect_undef_values.t t/48_memleak_rt_83744.t t/48_reader_undef_warning_on_empty_str_rt106830.t t/48_removeChild_crashes_rt_80395.t diff --git a/META.json b/META.json index db0d088..2bfa259 100644 --- a/META.json +++ b/META.json @@ -4,7 +4,7 @@ "Petr Pajas " ], "dynamic_config" : 0, - "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010", + "generated_by" : "ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter version 2.150010", "keywords" : [ "dom", "html", @@ -97,6 +97,6 @@ "web" : "https://github.com/shlomif/perl-XML-LibXML" } }, - "version" : "2.0206", - "x_serialization_backend" : "JSON::PP version 4.04" + "version" : "2.0207", + "x_serialization_backend" : "JSON::PP version 4.06" } diff --git a/META.yml b/META.yml index 81dd06d..fee45e0 100644 --- a/META.yml +++ b/META.yml @@ -19,7 +19,7 @@ configure_requires: Config: '0' ExtUtils::MakeMaker: '0' dynamic_config: 0 -generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010' +generated_by: 'ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter version 2.150010' keywords: - dom - html @@ -69,5 +69,5 @@ requires: warnings: '0' resources: repository: https://github.com/shlomif/perl-XML-LibXML.git -version: '2.0206' +version: '2.0207' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff --git a/docs/libxml.dbk b/docs/libxml.dbk index 5f35e39..c7a4208 100644 --- a/docs/libxml.dbk +++ b/docs/libxml.dbk @@ -22,7 +22,7 @@ - 2.0206 + 2.0207 2001-2007 AxKit.com Ltd diff --git a/lib/XML/LibXML/Attr.pod b/lib/XML/LibXML/Attr.pod index 5ea3953..fa6a5cd 100644 --- a/lib/XML/LibXML/Attr.pod +++ b/lib/XML/LibXML/Attr.pod @@ -121,7 +121,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/AttributeHash.pm b/lib/XML/LibXML/AttributeHash.pm index 31f3e4a..c83f0dc 100644 --- a/lib/XML/LibXML/AttributeHash.pm +++ b/lib/XML/LibXML/AttributeHash.pm @@ -7,7 +7,7 @@ use Tie::Hash; our @ISA = qw/Tie::Hash/; use vars qw($VERSION); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE BEGIN { diff --git a/lib/XML/LibXML/Boolean.pm b/lib/XML/LibXML/Boolean.pm index f9d275e..faa53b7 100644 --- a/lib/XML/LibXML/Boolean.pm +++ b/lib/XML/LibXML/Boolean.pm @@ -16,7 +16,7 @@ use warnings; use vars qw ($VERSION); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE use overload '""' => \&value, diff --git a/lib/XML/LibXML/CDATASection.pod b/lib/XML/LibXML/CDATASection.pod index d78a667..1113e56 100644 --- a/lib/XML/LibXML/CDATASection.pod +++ b/lib/XML/LibXML/CDATASection.pod @@ -45,7 +45,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Comment.pod b/lib/XML/LibXML/Comment.pod index 8240ef2..aaacdce 100644 --- a/lib/XML/LibXML/Comment.pod +++ b/lib/XML/LibXML/Comment.pod @@ -46,7 +46,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Common.pm b/lib/XML/LibXML/Common.pm index 2d34775..eb7681c 100644 --- a/lib/XML/LibXML/Common.pm +++ b/lib/XML/LibXML/Common.pm @@ -19,12 +19,11 @@ use strict; use warnings; require Exporter; -require DynaLoader; use vars qw( @ISA $VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS); @ISA = qw(Exporter); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE use XML::LibXML qw(:libxml); diff --git a/lib/XML/LibXML/Common.pod b/lib/XML/LibXML/Common.pod index 4bcd4cc..9423109 100644 --- a/lib/XML/LibXML/Common.pod +++ b/lib/XML/LibXML/Common.pod @@ -116,7 +116,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/DOM.pod b/lib/XML/LibXML/DOM.pod index 299501e..d01e75a 100644 --- a/lib/XML/LibXML/DOM.pod +++ b/lib/XML/LibXML/DOM.pod @@ -129,7 +129,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Devel.pm b/lib/XML/LibXML/Devel.pm index 3fd4587..8f13912 100644 --- a/lib/XML/LibXML/Devel.pm +++ b/lib/XML/LibXML/Devel.pm @@ -12,7 +12,7 @@ use warnings; use XML::LibXML; use vars qw ($VERSION); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE use 5.008_000; diff --git a/lib/XML/LibXML/Document.pod b/lib/XML/LibXML/Document.pod index 4efa5d9..2cdc576 100644 --- a/lib/XML/LibXML/Document.pod +++ b/lib/XML/LibXML/Document.pod @@ -683,7 +683,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/DocumentFragment.pod b/lib/XML/LibXML/DocumentFragment.pod index 98631a7..61e741c 100644 --- a/lib/XML/LibXML/DocumentFragment.pod +++ b/lib/XML/LibXML/DocumentFragment.pod @@ -27,7 +27,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Dtd.pod b/lib/XML/LibXML/Dtd.pod index 4c77f74..294cb17 100644 --- a/lib/XML/LibXML/Dtd.pod +++ b/lib/XML/LibXML/Dtd.pod @@ -89,7 +89,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Element.pod b/lib/XML/LibXML/Element.pod index b7504df..f6f0b74 100644 --- a/lib/XML/LibXML/Element.pod +++ b/lib/XML/LibXML/Element.pod @@ -382,7 +382,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/ErrNo.pm b/lib/XML/LibXML/ErrNo.pm index 1b0542d..0fa6308 100644 --- a/lib/XML/LibXML/ErrNo.pm +++ b/lib/XML/LibXML/ErrNo.pm @@ -14,7 +14,7 @@ use strict; use warnings; use vars qw($VERSION); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE use constant ERR_OK => 0; use constant ERR_INTERNAL_ERROR => 1; diff --git a/lib/XML/LibXML/ErrNo.pod b/lib/XML/LibXML/ErrNo.pod index 7d33df8..4b1b59e 100644 --- a/lib/XML/LibXML/ErrNo.pod +++ b/lib/XML/LibXML/ErrNo.pod @@ -17,7 +17,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Error.pm b/lib/XML/LibXML/Error.pm index 6d02676..9855eaf 100644 --- a/lib/XML/LibXML/Error.pm +++ b/lib/XML/LibXML/Error.pm @@ -17,7 +17,6 @@ no warnings 'recursion'; use Encode (); use vars qw(@error_domains $VERSION $WARNINGS); -use Carp; use overload '""' => \&as_string, 'eq' => sub { @@ -29,7 +28,7 @@ use overload fallback => 1; $WARNINGS = 0; # 0: suppress, 1: report via warn, 2: report via die -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE use constant XML_ERR_NONE => 0; use constant XML_ERR_WARNING => 1; # A simple warning @@ -243,7 +242,7 @@ sub as_string { # warnings. This has the pleasing benefit of making the test suite # run warning-free. no warnings 'utf8'; - my $context = Encode::encode('utf8', $self->{context}, Encode::FB_DEFAULT); + my $context = Encode::encode('UTF-8', $self->{context}); $msg.=$context."\n"; $context = substr($context,0,$self->{column}); $context=~s/[^\t]/ /g; @@ -254,7 +253,7 @@ sub as_string { sub dump { my ($self)=@_; - use Data::Dumper; + require Data::Dumper; return Data::Dumper->new([$self],['error'])->Dump; } diff --git a/lib/XML/LibXML/Error.pod b/lib/XML/LibXML/Error.pod index f93cb55..b8915e3 100644 --- a/lib/XML/LibXML/Error.pod +++ b/lib/XML/LibXML/Error.pod @@ -244,7 +244,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/InputCallback.pod b/lib/XML/LibXML/InputCallback.pod index 6e38efe..3cfcd15 100644 --- a/lib/XML/LibXML/InputCallback.pod +++ b/lib/XML/LibXML/InputCallback.pod @@ -280,7 +280,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Literal.pm b/lib/XML/LibXML/Literal.pm index 5105a36..1bc9fa1 100644 --- a/lib/XML/LibXML/Literal.pm +++ b/lib/XML/LibXML/Literal.pm @@ -16,7 +16,7 @@ use strict; use warnings; use vars qw ($VERSION); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE use overload '""' => \&value, diff --git a/lib/XML/LibXML/Namespace.pod b/lib/XML/LibXML/Namespace.pod index cd9dbe0..85d5598 100644 --- a/lib/XML/LibXML/Namespace.pod +++ b/lib/XML/LibXML/Namespace.pod @@ -141,7 +141,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Node.pod b/lib/XML/LibXML/Node.pod index ee750a7..6f8e9a5 100644 --- a/lib/XML/LibXML/Node.pod +++ b/lib/XML/LibXML/Node.pod @@ -763,7 +763,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/NodeList.pm b/lib/XML/LibXML/NodeList.pm index 68d7273..ca748d9 100644 --- a/lib/XML/LibXML/NodeList.pm +++ b/lib/XML/LibXML/NodeList.pm @@ -17,7 +17,7 @@ use XML::LibXML::Literal; use XML::LibXML::Number; use vars qw($VERSION); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE use overload '""' => \&to_literal, diff --git a/lib/XML/LibXML/Number.pm b/lib/XML/LibXML/Number.pm index 75a7178..cddd4c0 100644 --- a/lib/XML/LibXML/Number.pm +++ b/lib/XML/LibXML/Number.pm @@ -14,7 +14,7 @@ use strict; use warnings; use vars qw ($VERSION); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE use overload '""' => \&value, diff --git a/lib/XML/LibXML/PI.pod b/lib/XML/LibXML/PI.pod index da3e0e9..99323ff 100644 --- a/lib/XML/LibXML/PI.pod +++ b/lib/XML/LibXML/PI.pod @@ -74,7 +74,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Parser.pod b/lib/XML/LibXML/Parser.pod index c07a780..034395d 100644 --- a/lib/XML/LibXML/Parser.pod +++ b/lib/XML/LibXML/Parser.pod @@ -988,7 +988,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Pattern.pod b/lib/XML/LibXML/Pattern.pod index 6e7464f..3cf4d72 100644 --- a/lib/XML/LibXML/Pattern.pod +++ b/lib/XML/LibXML/Pattern.pod @@ -94,7 +94,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Reader.pm b/lib/XML/LibXML/Reader.pm index 060f713..40f093c 100644 --- a/lib/XML/LibXML/Reader.pm +++ b/lib/XML/LibXML/Reader.pm @@ -14,7 +14,7 @@ use strict; use warnings; use vars qw ($VERSION); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE use 5.008_000; diff --git a/lib/XML/LibXML/Reader.pod b/lib/XML/LibXML/Reader.pod index 2515f91..094e852 100644 --- a/lib/XML/LibXML/Reader.pod +++ b/lib/XML/LibXML/Reader.pod @@ -657,7 +657,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/RegExp.pod b/lib/XML/LibXML/RegExp.pod index 48e7bf8..0ef9b6e 100644 --- a/lib/XML/LibXML/RegExp.pod +++ b/lib/XML/LibXML/RegExp.pod @@ -58,7 +58,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/RelaxNG.pod b/lib/XML/LibXML/RelaxNG.pod index 3dc0ca0..a05d583 100644 --- a/lib/XML/LibXML/RelaxNG.pod +++ b/lib/XML/LibXML/RelaxNG.pod @@ -73,7 +73,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/SAX.pm b/lib/XML/LibXML/SAX.pm index 7f129bd..681499e 100644 --- a/lib/XML/LibXML/SAX.pm +++ b/lib/XML/LibXML/SAX.pm @@ -14,7 +14,7 @@ use warnings; use vars qw($VERSION @ISA); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE use XML::LibXML; use XML::SAX::Base; diff --git a/lib/XML/LibXML/SAX.pod b/lib/XML/LibXML/SAX.pod index 933b968..dc736f7 100644 --- a/lib/XML/LibXML/SAX.pod +++ b/lib/XML/LibXML/SAX.pod @@ -47,7 +47,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/SAX/Builder.pm b/lib/XML/LibXML/SAX/Builder.pm index 556ca7a..c16ee87 100644 --- a/lib/XML/LibXML/SAX/Builder.pm +++ b/lib/XML/LibXML/SAX/Builder.pm @@ -21,7 +21,7 @@ sub CLONE_SKIP { return $XML::LibXML::__threads_shared ? 0 : 1; } -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE sub new { my $class = shift; diff --git a/lib/XML/LibXML/SAX/Builder.pod b/lib/XML/LibXML/SAX/Builder.pod index 3dab014..c199c2f 100644 --- a/lib/XML/LibXML/SAX/Builder.pod +++ b/lib/XML/LibXML/SAX/Builder.pod @@ -38,7 +38,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/SAX/Generator.pm b/lib/XML/LibXML/SAX/Generator.pm index e48d9a4..2ae881f 100644 --- a/lib/XML/LibXML/SAX/Generator.pm +++ b/lib/XML/LibXML/SAX/Generator.pm @@ -15,7 +15,7 @@ use warnings; use XML::LibXML; use vars qw ($VERSION); -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE sub CLONE_SKIP { return $XML::LibXML::__threads_shared ? 0 : 1; diff --git a/lib/XML/LibXML/SAX/Parser.pm b/lib/XML/LibXML/SAX/Parser.pm index 562db45..0b2ba85 100644 --- a/lib/XML/LibXML/SAX/Parser.pm +++ b/lib/XML/LibXML/SAX/Parser.pm @@ -18,7 +18,7 @@ use XML::LibXML::Common qw(:libxml); use XML::SAX::Base; use XML::SAX::DocumentLocator; -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE @ISA = ('XML::SAX::Base'); sub CLONE_SKIP { diff --git a/lib/XML/LibXML/Schema.pod b/lib/XML/LibXML/Schema.pod index f156754..5bfc958 100644 --- a/lib/XML/LibXML/Schema.pod +++ b/lib/XML/LibXML/Schema.pod @@ -69,7 +69,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/Text.pod b/lib/XML/LibXML/Text.pod index 70a6d23..be65280 100644 --- a/lib/XML/LibXML/Text.pod +++ b/lib/XML/LibXML/Text.pod @@ -170,7 +170,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/XPathContext.pm b/lib/XML/LibXML/XPathContext.pm index f63e2ad..10e62ed 100644 --- a/lib/XML/LibXML/XPathContext.pm +++ b/lib/XML/LibXML/XPathContext.pm @@ -17,7 +17,7 @@ use Carp; use XML::LibXML; use XML::LibXML::NodeList; -$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE # should LibXML XPath data types be used for simple objects # when passing parameters to extension functions (default: no) diff --git a/lib/XML/LibXML/XPathContext.pod b/lib/XML/LibXML/XPathContext.pod index 793d8f6..0b8f81c 100644 --- a/lib/XML/LibXML/XPathContext.pod +++ b/lib/XML/LibXML/XPathContext.pod @@ -362,7 +362,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/lib/XML/LibXML/XPathExpression.pod b/lib/XML/LibXML/XPathExpression.pod index 7daff90..5ff7b0d 100644 --- a/lib/XML/LibXML/XPathExpression.pod +++ b/lib/XML/LibXML/XPathExpression.pod @@ -52,7 +52,7 @@ Petr Pajas =head1 VERSION -2.0206 +2.0207 =head1 COPYRIGHT diff --git a/perl-libxml-mm.c b/perl-libxml-mm.c index afe82d5..b433c5c 100644 --- a/perl-libxml-mm.c +++ b/perl-libxml-mm.c @@ -1118,7 +1118,7 @@ Sv2C( SV* scalar, const xmlChar *encoding ) dTHX; xs_warn("SV2C: start!\n"); - if ( scalar != NULL && scalar != &PL_sv_undef ) { + if ( scalar != NULL && SvOK(scalar) ) { STRLEN len = 0; char * t_pv =SvPV(scalar, len); xmlChar* ts = NULL; diff --git a/t/48_gh_pr63_detect_undef_values.t b/t/48_gh_pr63_detect_undef_values.t new file mode 100644 index 0000000..cb5f935 --- /dev/null +++ b/t/48_gh_pr63_detect_undef_values.t @@ -0,0 +1,34 @@ + +use strict; +use warnings; + +=head1 DESCRIPTION + +L + +This test program + + use warnings; + use XML::LibXML; + + my $test = XML::LibXML::Text->new({}->{bar}); + +produces the following warning: + + $ perl ~/test.pl + Use of uninitialized value in subroutine entry at /home/sven/test.pl line 4. + +This apparently happens, because Sv2C tries to catch undef values by comparing the memory location of the scalar in question to &PL_sv_undef. While PL_sv_undef certainly is an undef value, not all undef values share its memory location. The added commit fixes this, by using SvOK to correctly detect all undef values. + +=cut + +use Test::More tests => 1; + +use XML::LibXML; + +$SIG{__WARN__} = sub { die "warning " . shift . "!"; }; + +my $test = XML::LibXML::Text->new( {}->{bar} ); + +# TEST +pass("success"); diff --git a/t/pod-files-presence.t b/t/pod-files-presence.t index e77d24a..02b069d 100644 --- a/t/pod-files-presence.t +++ b/t/pod-files-presence.t @@ -3,9 +3,15 @@ use strict; use warnings; -use Test::More tests => 3; +use Test::More; use File::Spec; +if ( ! $ENV{AUTHOR_TESTING} ) { + plan skip_all => "only for AUTHORS"; +} else { + plan tests => 3; +} + sub _is_present { my $path = shift; -- 2.7.4