Imported Upstream version 2.0207 upstream/2.0207
authorDongHun Kwak <dh0128.kwak@samsung.com>
Sun, 24 Jul 2022 23:44:31 +0000 (08:44 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Sun, 24 Jul 2022 23:44:31 +0000 (08:44 +0900)
51 files changed:
Changes
LibXML.pm
LibXML.pod
MANIFEST
META.json
META.yml
docs/libxml.dbk
lib/XML/LibXML/Attr.pod
lib/XML/LibXML/AttributeHash.pm
lib/XML/LibXML/Boolean.pm
lib/XML/LibXML/CDATASection.pod
lib/XML/LibXML/Comment.pod
lib/XML/LibXML/Common.pm
lib/XML/LibXML/Common.pod
lib/XML/LibXML/DOM.pod
lib/XML/LibXML/Devel.pm
lib/XML/LibXML/Document.pod
lib/XML/LibXML/DocumentFragment.pod
lib/XML/LibXML/Dtd.pod
lib/XML/LibXML/Element.pod
lib/XML/LibXML/ErrNo.pm
lib/XML/LibXML/ErrNo.pod
lib/XML/LibXML/Error.pm
lib/XML/LibXML/Error.pod
lib/XML/LibXML/InputCallback.pod
lib/XML/LibXML/Literal.pm
lib/XML/LibXML/Namespace.pod
lib/XML/LibXML/Node.pod
lib/XML/LibXML/NodeList.pm
lib/XML/LibXML/Number.pm
lib/XML/LibXML/PI.pod
lib/XML/LibXML/Parser.pod
lib/XML/LibXML/Pattern.pod
lib/XML/LibXML/Reader.pm
lib/XML/LibXML/Reader.pod
lib/XML/LibXML/RegExp.pod
lib/XML/LibXML/RelaxNG.pod
lib/XML/LibXML/SAX.pm
lib/XML/LibXML/SAX.pod
lib/XML/LibXML/SAX/Builder.pm
lib/XML/LibXML/SAX/Builder.pod
lib/XML/LibXML/SAX/Generator.pm
lib/XML/LibXML/SAX/Parser.pm
lib/XML/LibXML/Schema.pod
lib/XML/LibXML/Text.pod
lib/XML/LibXML/XPathContext.pm
lib/XML/LibXML/XPathContext.pod
lib/XML/LibXML/XPathExpression.pod
perl-libxml-mm.c
t/48_gh_pr63_detect_undef_values.t [new file with mode: 0644]
t/pod-files-presence.t

diff --git a/Changes b/Changes
index e26f62bb551a5744e85fc027df3631feaf7f2172..e00313e5b241e672c8d0e0990238255adb3833d4 100644 (file)
--- 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
index f437ce69d7ba302468554e8b5f370af6e88f7fd3..7f033ca73171fb21a484fde68b5abbbd47ba380c 100644 (file)
--- 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;
index 16aa47b1227da1aa431c9d6ce484e67a2c1e2cfc..73a9e50df881f578a8dfad3d11e3c14e6267586a 100644 (file)
@@ -507,7 +507,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index f3ba579de5856ca33b3ca0b00489af2cd666bd42..42976962865c736f3acd229183e4404911a12df2 100644 (file)
--- 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
index db0d088b4c02f4542fa24962a00518e1f060475f..2bfa2599fc9cfdf9065c459167919e00cef37bf8 100644 (file)
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
       "Petr Pajas <PAJAS@cpan.org>"
    ],
    "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"
 }
index 81dd06db546e614e8f5ee83a07b93b5b8d09e079..fee45e087e35eb47e3dc055a87b59f79d5cb3364 100644 (file)
--- 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'
index 5f35e39b041fdc49618b8c86e082b87630ec41d2..c7a4208603986f839e2d4f95c958c92ddea38b88 100644 (file)
@@ -22,7 +22,7 @@
         </authorgroup>
 
 
-        <edition>2.0206</edition>
+        <edition>2.0207</edition>
         <copyright>
             <year>2001-2007</year>
             <holder>AxKit.com Ltd</holder>
index 5ea39535b79e33e420588c45b7a93b915b05fcbd..fa6a5cd3925b2f722a63eb59152f5671af639a10 100644 (file)
@@ -121,7 +121,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 31f3e4a95b56d66060edfacc153e269aa6fdb307..c83f0dc61ff6e35ca414009bddda87f7deb47985 100644 (file)
@@ -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
 {
index f9d275e6b630ab3ccba84390cd8faf70506ff577..faa53b76e9a3532ed7b706806fa0a99344f7a8ee 100644 (file)
@@ -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,
index d78a6671b801269d3d9c099d1e8d1ca776b9b6bd..1113e5678563cbeb2294a9ddb3754d77f6298e5f 100644 (file)
@@ -45,7 +45,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 8240ef248a065ec2225bb55e581002b8e736a894..aaacdcea273ffed63f9227d63f8922a97e0fe402 100644 (file)
@@ -46,7 +46,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 2d3477579a96e3802edfae8ba9a0aa59c61fb545..eb7681cf4bcd1622a756ae47a73c519a615e33f2 100644 (file)
@@ -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);
 
index 4bcd4ccd7057a6c40effe634327383cde4812732..94231094cd5246afcd6be30ba118cc36752466bc 100644 (file)
@@ -116,7 +116,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 299501e8e845994ab6ee83b3fc00badcdd755fd3..d01e75a877603aaa932930b75b79d133eb78e0af 100644 (file)
@@ -129,7 +129,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 3fd4587410c8075ca00df307c2452c716554c8d7..8f139122e452c09eaf3afccf09774f86a1616259 100644 (file)
@@ -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;
 
index 4efa5d9ca431ecb87c4da05a35604466c93c8b61..2cdc5760fab8ba886ca49d0019013c12477c76ee 100644 (file)
@@ -683,7 +683,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 98631a712c8db18b07c47ad3cfd06a91ea904e3c..61e741cb795cb973465ccf711c8b266de1827e0d 100644 (file)
@@ -27,7 +27,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 4c77f743cdba02c72cf803c712dfec38b677976e..294cb17c53c29b4519012e2c94a17ee8e8aa5a8d 100644 (file)
@@ -89,7 +89,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index b7504df546e6b0dfcc53b4c0b4066aed00cc4cb2..f6f0b74bc1e9c4da579759c669827a77752bf552 100644 (file)
@@ -382,7 +382,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 1b0542d36c0139b9ae71edca7318ed478918b36f..0fa6308effa54767fce027ff807b181eb7eb52b8 100644 (file)
@@ -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;
index 7d33df8f5d1d564796de9f643a81b907258b996f..4b1b59e2fd218a5ec1316390891c5306d61aa127 100644 (file)
@@ -17,7 +17,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 6d026764715e4ffe0679ed90f9361d67104998e9..9855eaf575fec8aa22b1dd3527e071d70cfb62ca 100644 (file)
@@ -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;
 }
 
index f93cb55118a349bfbb145b86b942f1875d6ece1b..b8915e37cc8c328dc0c0599190e7973fde38a472 100644 (file)
@@ -244,7 +244,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 6e38efecc9a3593f050214fffc628dc6540014cb..3cfcd15bc2b8e1afc5ae2264483fe22d56849b16 100644 (file)
@@ -280,7 +280,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 5105a360a5190f1b5b42554f1bd8444805f42494..1bc9fa1152eea897e3ab50d90c01588de2f10b31 100644 (file)
@@ -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,
index cd9dbe0185d9d69c5905f59b39efe91a79af88f4..85d55985f695b484dff2afdac88a05450dc52587 100644 (file)
@@ -141,7 +141,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index ee750a7bb42dcceb13fce68e7dcc29ce9431b597..6f8e9a55fda202813114bc77ed0758661a4f06a4 100644 (file)
@@ -763,7 +763,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 68d7273a1e1342fcca450f12c495ac655c0c716e..ca748d9bdfec0242ffa75282df3c2fab46401b8c 100644 (file)
@@ -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,
index 75a7178599ed8f7989023ceffa5e3e0df71805a0..cddd4c071b8f47cf03dd241765de7ef2be220dd8 100644 (file)
@@ -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,
index da3e0e9fb0606042b46deae4780f352915644106..99323ffdc7f7505c24de9eb0475fdadc867c62c5 100644 (file)
@@ -74,7 +74,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index c07a780a3b77426073bd58d17a6fe5f656de7d15..034395dd5f1c9eabcbddd6ac0f404335f198b8ae 100644 (file)
@@ -988,7 +988,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 6e7464ff2f140c8b9747331555e27a57d61b6b08..3cf4d72c7b3901a5154d7ef411df7885ca47db93 100644 (file)
@@ -94,7 +94,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 060f713b16b9414df6dbfcc9ff236ed6eee33429..40f093ceba685c0ce7b7f593d735eea773a20fc2 100644 (file)
@@ -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;
 
index 2515f91b03b45dc69fa36f8c38709dcbc0e431c7..094e852b2d66f07dee1def907cac38f4a8a0d662 100644 (file)
@@ -657,7 +657,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 48e7bf8b475ee8b0320ed3ca5ee483d1418a2de3..0ef9b6ec52aac86cd1fbb8f96ff596839c134361 100644 (file)
@@ -58,7 +58,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 3dc0ca0834912b1d94f93bdeeef29a6b8722f4ad..a05d5830f70ac902bbf3b9a71bde44f25a84f4ea 100644 (file)
@@ -73,7 +73,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 7f129bd00b14f55fdcee178c0f9e904ffb6900a7..681499e8bc09d7fcd405cad3dee655da2f541657 100644 (file)
@@ -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;
index 933b9682ace7fce1b67497cbdb806cfea3a6678a..dc736f770653a20f7cd3460ff57bc98de920ccd9 100644 (file)
@@ -47,7 +47,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 556ca7a5f7a5efe17563b4a141a17a214e4748c4..c16ee871907b06dc2086140ecb59c3e25b2fe03a 100644 (file)
@@ -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;
index 3dab014b46fa27c4d66a8e57ff5871c44d309df6..c199c2f825b0b61ac9dec1074ed35b19e70d6ceb 100644 (file)
@@ -38,7 +38,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index e48d9a44b255b64ec211600867711a4c3e10b31e..2ae881faf2d4e0e38d42a564d66196ccdb28e12b 100644 (file)
@@ -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;
index 562db45708e722541d1540f1288b551746516f9e..0b2ba85a43daa5ded4666363f9acf918a91cc4ed 100644 (file)
@@ -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 {
index f15675413d390bffc8ff1222201b47fffa2685a9..5bfc95891060236af92eb781d753596669ad67d3 100644 (file)
@@ -69,7 +69,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 70a6d23e532f6ecfc429bc018600aaa16dca003c..be6528064e1e478b8fb301a779dec4bf45c8e11c 100644 (file)
@@ -170,7 +170,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index f63e2addfc3788675cfe2834f3f8207f08262f29..10e62edba5a00054649c00ba7ecb5e936f383a40 100644 (file)
@@ -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)
index 793d8f6e9eef3bb113c7a7927b37eba2064e6320..0b8f81ced81210896960650765997f95a8072d1b 100644 (file)
@@ -362,7 +362,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index 7daff9022f4d2404571324d640689f4aaaec2b60..5ff7b0d0bc9fe800fe3012460e073a0438b4ee28 100644 (file)
@@ -52,7 +52,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0206
+2.0207
 
 =head1 COPYRIGHT
 
index afe82d5e75a0cace96ff52ba596066f0a2dd0e01..b433c5c6fcbd08c22c0826086b1222529938d09d 100644 (file)
@@ -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 (file)
index 0000000..cb5f935
--- /dev/null
@@ -0,0 +1,34 @@
+
+use strict;
+use warnings;
+
+=head1 DESCRIPTION
+
+L<https://github.com/shlomif/perl-XML-LibXML/pull/63>
+
+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");
index e77d24aaad89c7efece6b93f09d0e52b8accfb4d..02b069d9c2e001ac8fb5f9eaaf47cd0196edf166 100644 (file)
@@ -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;