summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-08-08 14:30:41 +0200
committerJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-08-12 13:49:54 +0200
commitab0a50979b9eb4dfa3320eff7e187e41efedf7a9 (patch)
tree498dfb8a97ff3361a9f7486863a52bb4e26bb898 /chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin
parent4ce69f7403811819800e7c5ae1318b2647e778d1 (diff)
Update Chromium to beta version 37.0.2062.68
Change-Id: I188e3b5aff1bec75566014291b654eb19f5bc8ca Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin')
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Alias.pm370
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Bzip2.pm1579
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Raw/Bzip2.pm329
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Cwd.pm763
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Digest/SHA.pm669
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec.pm336
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Cygwin.pm154
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Epoc.pm78
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Functions.pm109
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Mac.pm780
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/OS2.pm273
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Unix.pm517
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/VMS.pm536
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Win32.pm442
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Entities.pm491
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Filter.pm112
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/HeadParser.pm259
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/LinkExtor.pm187
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Parser.pm1233
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/PullParser.pm211
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/TokeParser.pm371
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Math/BigInt/FastCalc.pm125
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS.pm967
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/FAQ.pod45
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Header.pm371
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Nameserver.pm703
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Packet.pm749
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Question.pm260
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR.pm1022
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/A.pm95
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AAAA.pm124
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AFSDB.pm122
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CERT.pm178
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CNAME.pm97
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/DNAME.pm90
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/EID.pm63
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/HINFO.pm125
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/IPSECKEY.pm237
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/ISDN.pm129
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/LOC.pm363
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MB.pm99
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MG.pm100
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MINFO.pm118
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MR.pm101
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MX.pm135
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NAPTR.pm210
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NIMLOC.pm63
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NS.pm106
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NSAP.pm274
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NULL.pm65
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/OPT.pm286
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PTR.pm101
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PX.pm153
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RP.pm121
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RT.pm133
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SOA.pm176
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SPF.pm48
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SRV.pm151
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SSHFP.pm219
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TKEY.pm208
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TSIG.pm353
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TXT.pm179
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/Unknown.pm82
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/X25.pm95
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver.pm750
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Base.pm1579
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Cygwin.pm180
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Recurse.pm485
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/UNIX.pm74
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm225
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Update.pm200
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/PadWalker.pm154
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killall.pm111
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killfam.pm83
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable.pm232
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable/Process.pm182
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/example.pl16
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadKey.pm564
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu.pm1921
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu/XS.pm590
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm1778
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod433
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod130
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm85
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod54
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod55
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm306
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod139
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod675
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod36
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod98
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod380
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod288
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm102
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod139
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod661
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm191
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm90
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod83
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod683
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm222
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod716
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod77
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm81
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod46
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm322
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod47
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm146
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm254
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod73
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod179
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm131
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod349
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm840
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg117
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README51
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.encbin40706 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.encbin45802 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.encbin1072 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.encbin1072 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.encbin1072 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.encbin1072 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.encbin1072 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.encbin1072 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.encbin1072 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.encbin1072 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.encbin1072 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.encbin37890 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.encbin37890 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.encbin20368 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.encbin18202 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.encbin18202 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.encbin18202 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm1230
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl71
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm52
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm78
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm184
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm58
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm90
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/.packlist2
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/Alias.dllbin26896 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Archive/Zip/.packlist14
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/.packlist15
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/Reporter/.packlist10
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/.packlist3
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/Bzip2.dllbin95624 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/autosplit.ix3
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/.packlist3
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/Bzip2.dllbin109141 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/autosplit.ix3
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Config/Tiny/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/.packlist11
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/Cwd.dllbin23962 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Devel/Symdump/.packlist2
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/.packlist3
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/SHA.dllbin77883 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Copy/Recursive/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/HomeDir/.packlist6
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Temp/.packlist2
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/pushd/.packlist2
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/.packlist8
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/Parser.dllbin69244 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Tagset/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/CaptureOutput/.packlist2
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/Compress/Bzip2/.packlist4
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/String/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IPC/Run3/.packlist6
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/LWP/.packlist54
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/.packlist2
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dllbin36372 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/ScanDeps/.packlist3
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/Signature/.packlist2
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/.packlist50
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/DNS.dllbin19383 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/Telnet/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PAR/Dist/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/.packlist2
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/PadWalker.dllbin34568 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Coverage/.packlist5
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Escapes/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Simple/.packlist31
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Probe/Perl/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/.packlist7
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/Process/autosplit.ix3
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/ProcessTable.dllbin38168 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Tee/.packlist4
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/.packlist3
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/ReadKey.dllbin45028 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/autosplit.ix3
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/.packlist2
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/.packlist4
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/Gnu.dllbin247061 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/XS/autosplit.ix3
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/Coverage/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Reporter/.packlist8
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/URI/.packlist49
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/.packlist33
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/.packlist2
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/Common.dllbin25870 -> 0 bytes
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/LibXML.dllbin548353 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/NamespaceSupport/.packlist1
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/.packlist28
-rwxr-xr-xchromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dllbin125467 -> 0 bytes
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/SAX/.packlist23
-rw-r--r--chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/YAML/.packlist13
207 files changed, 0 insertions, 38850 deletions
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Alias.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Alias.pm
deleted file mode 100644
index 50c85f0fa59..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Alias.pm
+++ /dev/null
@@ -1,370 +0,0 @@
-#
-# Documentation at the __END__
-#
-
-package Alias;
-
-require 5.004;
-require Exporter;
-require DynaLoader;
-
-@ISA = qw(Exporter DynaLoader);
-@EXPORT = qw(alias attr);
-@EXPORT_OK = qw(const);
-
-$VERSION = $VERSION = '2.32';
-
-use Carp;
-
-bootstrap Alias;
-
-$Alias::KeyFilter = "";
-$Alias::AttrPrefix = "";
-$Alias::Deref = ""; # don't deref objects
-
-sub alias {
- croak "Need even number of args" if @_ % 2;
- my($pkg) = caller; # for namespace soundness
- while (@_) {
- # *foo = \*bar works in 5.002
- *{"$pkg\:\:$_[0]"} = (defined($_[1]) and ref($_[1])) ? $_[1] : \$_[1];
- shift; shift;
- }
-}
-
-# alias the elements of hashref
-# same as alias %{$_[0]}, but also localizes the aliases and
-# returns the hashref
-sub attr;
-
-alias const => \&alias; # alias the alias :-)
-
-
-1;
-__END__
-
-=head1 NAME
-
-alias - declare symbolic aliases for perl data
-
-attr - auto-declare hash attributes for convenient access
-
-const - define compile-time scalar constants
-
-
-=head1 SYNOPSIS
-
- use Alias qw(alias const attr);
- alias TEN => $ten, Ten => \$ten, Ten => \&ten,
- Ten => \@ten, Ten => \%ten, TeN => \*ten;
- {
- local @Ten;
- my $ten = [1..10];
- alias Ten => $ten; # local @Ten
- }
-
- const pi => 3.14, ten => 10;
-
- package Foo;
- use Alias;
- sub new { bless {foo => 1, _bar => [2, 3]}, $_[0] }
- sub a_method {
- my $s = attr shift;
- # $foo, @_bar are now local aliases for
- # $_[0]{foo}, @{$_[0]{_bar}} etc.
- }
-
- sub b_method {
- local $Alias::KeyFilter = "_";
- local $Alias::AttrPrefix = "main::";
- my $s = attr shift;
- # local @::_bar is now available, ($foo, $::foo are not)
- }
-
- sub c_method {
- local $Alias::KeyFilter = sub { $_ = shift; return (/^_/ ? 1 : 0) };
- local $Alias::AttrPrefix = sub {
- $_ = shift;
- s/^_(.+)$/main::$1/;
- return $_
- };
- my $s = attr shift;
- # local @::bar is now available, ($foo, $::foo are not)
- }
-
-
-=head1 DESCRIPTION
-
-Provides general mechanisms for aliasing perl data for convenient access.
-
-This module works by putting some values on the symbol table with
-user-supplied names. Values that are references will get dereferenced into
-their base types. This means that a value of C<[1,2,3]> with a name of
-"foo" will be made available as C<@foo>, not C<$foo>.
-
-The exception to this rule is the default behavior of the C<attr> function,
-which will not dereference values which are blessed references (aka
-objects). See L<$Alias::Deref> for how to change this default behavior.
-
-=head2 Functions
-
-=over 4
-
-=item alias
-
-Given a list of name => value pairs, declares aliases
-in the C<caller>s namespace. If the value supplied is a reference, the
-alias is created for the underlying value instead of the reference
-itself (there is no need to use this module to alias references--they
-are automatically "aliased" on assignment). This allows the user to
-alias most of the basic types.
-
-If the value supplied is a scalar compile-time constant, the aliases
-become read-only. Any attempt to write to them will fail with a run time
-error.
-
-Aliases can be dynamically scoped by pre-declaring the target variable as
-C<local>. Using C<attr> for this purpose is more convenient, and
-recommended.
-
-=item attr
-
-Given a hash reference, aliases the values of the hash to the names that
-correspond to the keys. It always returns the supplied value. The aliases
-are local to the enclosing block. If any of the values are unblessed
-references, they are available as their dereferenced types. Thus the action
-is similar to saying:
-
- alias %{$_[0]}
-
-but, in addition, also localizes the aliases, and does not dereference
-objects. Dereferencing of objects can be forced by setting the C<Deref>
-option. See L<$Alias::Deref>.
-
-This can be used for convenient access to hash values and hash-based object
-attributes.
-
-Note that this makes available the semantics of C<local> subroutines and
-methods. That makes for some nifty possibilities. We could make truly
-private methods by putting anonymous subs within an object. These subs
-would be available within methods where we use C<attr>, and will not
-be visible to the outside world as normal methods. We could forbid
-recursion in methods by always putting an empty sub in the object hash
-with the same key as the method name. This would be useful where a method
-has to run code from other modules, but cannot be certain whether that
-module will call it back again.
-
-The default behavior is to create aliases for all the entries in the hash,
-in the callers namespace. This can be controlled by setting a few options.
-See L<Configuration Variables> for details.
-
-=item const
-
-This is simply a function alias for C<alias>, described above. Provided on
-demand at C<use> time, since it reads better for constant declarations.
-Note that hashes and arrays cannot be so C<const>rained.
-
-=back
-
-=head2 Configuration Variables
-
-The following configuration variables can be used to control the behavior of
-the C<attr> function. They are typically set after the C<use Alias;>
-statement. Another typical usage is to C<local>ize them in a block so that
-their values are only effective within that block.
-
-=over 4
-
-=item $Alias::KeyFilter
-
-Specifies the key prefix used for determining which hash entries will be
-interned by C<attr>. Can be a CODE reference, in which case it will be
-called with the key, and the boolean return value will determine if
-that hash entry is a candidate attribute.
-
-=item $Alias::AttrPrefix
-
-Specifies a prefix to prepend to the names of localized attributes created
-by C<attr>. Can be a CODE reference, in which case it will be called with
-the key, and the result will determine the full name of the attribute. The
-value can have embedded package delimiters ("::" or "'"), which cause the
-attributes to be interned in that namespace instead of the C<caller>s own
-namespace. For example, setting it to "main::" makes C<use strict 'vars';>
-somewhat more palatable (since we can refer to the attributes as C<$::foo>,
-etc., without actually declaring the attributes).
-
-=item $Alias::Deref
-
-Controls the implicit dereferencing behavior of C<attr>. If it is set to
-"" or 0, C<attr> will not dereference blessed references. If it is a true
-value (anything but "", 0, or a CODE reference), all references will be
-made available as their dereferenced types, including values that may be
-objects. The default is "".
-
-This option can be used as a filter if it is set to a CODE reference, in
-which case it will be called with the key and the value (whenever the value
-happens to be a reference), and the boolean return value will determine if
-that particular reference must be dereferenced.
-
-
-=back
-
-=head2 Exports
-
-=over 4
-
-=item alias
-
-=item attr
-
-=back
-
-=head1 EXAMPLES
-
-Run these code snippets and observe the results to become more familiar
-with the features of this module.
-
- use Alias qw(alias const attr);
- $ten = 10;
- alias TEN => $ten, Ten => \$ten, Ten => \&ten,
- Ten => \@ten, Ten => \%ten;
- alias TeN => \*ten; # same as *TeN = *ten
-
- # aliasing basic types
- $ten = 20;
- print "$TEN|$Ten|$ten\n"; # should print "20|20|20"
- sub ten { print "10\n"; }
- @ten = (1..10);
- %ten = (a..j);
- &Ten; # should print "10"
- print @Ten, "|", %Ten, "\n";
-
- # this will fail at run time
- const _TEN_ => 10;
- eval { $_TEN_ = 20 };
- print $@ if $@;
-
- # dynamically scoped aliases
- @DYNAMIC = qw(m n o);
- {
- my $tmp = [ qw(a b c d) ];
- local @DYNAMIC;
- alias DYNAMIC => $tmp, PERM => $tmp;
-
- $DYNAMIC[2] = 'zzz';
- # prints "abzzzd|abzzzd|abzzzd"
- print @$tmp, "|", @DYNAMIC, "|", @PERM, "\n";
-
- @DYNAMIC = qw(p q r);
- # prints "pqr|pqr|pqr"
- print @$tmp, "|", @DYNAMIC, "|", @PERM, "\n";
- }
-
- # prints "mno|pqr"
- print @DYNAMIC, "|", @PERM, "\n";
-
- # named closures
- my($lex) = 'abcd';
- $closure = sub { print $lex, "\n" };
- alias NAMEDCLOSURE => \&$closure;
- NAMEDCLOSURE(); # prints "abcd"
- $lex = 'pqrs';
- NAMEDCLOSURE(); # prints "pqrs"
-
- # hash/object attributes
- package Foo;
- use Alias;
- sub new {
- bless
- { foo => 1,
- bar => [2,3],
- buz => { a => 4},
- privmeth => sub { "private" },
- easymeth => sub { die "to recurse or to die, is the question" },
- }, $_[0];
- }
-
- sub easymeth {
- my $s = attr shift; # localizes $foo, @bar, %buz etc with values
- eval { $s->easymeth }; # should fail
- print $@ if $@;
-
- # prints "1|2|3|a|4|private|"
- print join '|', $foo, @bar, %buz, $s->privmeth, "\n";
- }
-
- $foo = 6;
- @bar = (7,8);
- %buz = (b => 9);
- Foo->new->easymeth; # this will not recurse endlessly
-
- # prints "6|7|8|b|9|"
- print join '|', $foo, @bar, %buz, "\n";
-
- # this should fail at run-time
- eval { Foo->new->privmeth };
- print $@ if $@;
-
-
-=head1 NOTES
-
-It is worth repeating that the aliases created by C<alias> and C<const> will
-be created in the C<caller>s namespace (we can use the C<AttrPrefix> option to
-specify a different namespace for C<attr>). If that namespace happens to be
-C<local>ized, the aliases created will be local to that block. C<attr>
-localizes the aliases for us.
-
-Remember that references will be available as their dereferenced types.
-
-Aliases cannot be lexical, since, by neccessity, they live on the
-symbol table.
-
-Lexicals can be aliased. Note that this provides a means of reversing the
-action of anonymous type generators C<\>, C<[]> and C<{}>. This allows us
-to anonymously construct data or code and give it a symbol-table presence
-when we choose.
-
-Any occurrence of C<::> or C<'> in names will be treated as package
-qualifiers, and the value will be interned in that namespace.
-
-Remember that aliases are very much like references, only we don't
-have to dereference them as often. Which means we won't have to
-pound on the dollars so much.
-
-We can dynamically make subroutines and named closures with this scheme.
-
-It is possible to alias packages, but that might be construed as
-abuse.
-
-Using this module will dramatically reduce noise characters in
-object-oriented perl code.
-
-
-=head1 BUGS
-
-C<use strict 'vars';> is not very usable, since we B<depend> so much
-on the symbol table. You can declare the attributes with C<use vars> to
-avoid warnings. Setting C<$Alias::AttrPrefix> to "main::" is one way
-to avoid C<use vars> and frustration.
-
-Tied variables cannot be aliased properly, yet.
-
-
-=head1 VERSION
-
-Version 2.32 30 Apr 1999
-
-
-=head1 AUTHOR
-
-Gurusamy Sarathy gsar@umich.edu
-
-Copyright (c) 1995-99 Gurusamy Sarathy. All rights reserved.
-This program is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-perl(1)
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Bzip2.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Bzip2.pm
deleted file mode 100644
index f7ffb0541a1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Bzip2.pm
+++ /dev/null
@@ -1,1579 +0,0 @@
-# File : Bzip2.pm
-# Author : Rob Janes
-# Created : 14 April 2005
-# Modified : 9 Aug 2005
-# Version : 2.09
-#
-# Copyright (c) 2005 Rob Janes. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-#
-
-package Compress::Bzip2;
-
-use 5.006;
-
-use strict;
-use warnings;
-
-use Carp;
-use Getopt::Std;
-use Fcntl qw(:DEFAULT :mode);
-
-require Exporter;
-use AutoLoader;
-
-our @ISA = qw(Exporter);
-
-# Items to export into callers namespace by default. Note: do not export
-# names by default without a very good reason. Use EXPORT_OK instead.
-# Do not simply export all your public functions/methods/constants.
-
-# This allows declaration use Compress::Bzip2 ':all';
-# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
-# will save memory.
-our %EXPORT_TAGS =
- ( 'constants' => [ qw(
- BZ_CONFIG_ERROR
- BZ_DATA_ERROR
- BZ_DATA_ERROR_MAGIC
- BZ_FINISH
- BZ_FINISH_OK
- BZ_FLUSH
- BZ_FLUSH_OK
- BZ_IO_ERROR
- BZ_MAX_UNUSED
- BZ_MEM_ERROR
- BZ_OK
- BZ_OUTBUFF_FULL
- BZ_PARAM_ERROR
- BZ_RUN
- BZ_RUN_OK
- BZ_SEQUENCE_ERROR
- BZ_STREAM_END
- BZ_UNEXPECTED_EOF
- ) ],
-
- 'utilities' => [ qw(
- &bzopen
- &bzinflateInit
- &bzdeflateInit
- &memBzip &memBunzip
- &compress &decompress
- &bzip2 &bunzip2
- &bzlibversion
- $bzerrno
- ) ],
-
- 'bzip1' => [ qw(
- &compress
- &decompress
- &compress_init
- &decompress_init
- &version
- ) ],
-
- 'gzip' => [ qw(
- &gzopen
- &inflateInit
- &deflateInit
- &compress &uncompress
- &adler32 &crc32
-
- ZLIB_VERSION
-
- $gzerrno
-
- Z_OK
- Z_STREAM_END
- Z_NEED_DICT
- Z_ERRNO
- Z_STREAM_ERROR
- Z_DATA_ERROR
- Z_MEM_ERROR
- Z_BUF_ERROR
- Z_VERSION_ERROR
-
- Z_NO_FLUSH
- Z_PARTIAL_FLUSH
- Z_SYNC_FLUSH
- Z_FULL_FLUSH
- Z_FINISH
- Z_BLOCK
-
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
-
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_DEFAULT_STRATEGY
-
- Z_BINARY
- Z_ASCII
- Z_UNKNOWN
-
- Z_DEFLATED
- Z_NULL
- ) ],
- );
-
-our @EXPORT_OK = ( @{ $EXPORT_TAGS{'utilities'} },
- @{ $EXPORT_TAGS{'constants'} },
- @{ $EXPORT_TAGS{'bzip1'} },
- @{ $EXPORT_TAGS{'gzip'} },
- );
-
-$EXPORT_TAGS{'all'} = [ @EXPORT_OK ];
-
-our @EXPORT = ( @{ $EXPORT_TAGS{'utilities'} }, @{ $EXPORT_TAGS{'constants'} } );
-
-our $VERSION = "2.09";
-
-our $bzerrno = "";
-our $gzerrno;
-*gzerrno = \$bzerrno;
-
-# Zlib compatibility
-##
-use constant ZLIB_VERSION => '1.x';
-# allowed flush values
-use constant { Z_NO_FLUSH => 0, Z_PARTIAL_FLUSH => 1, Z_SYNC_FLUSH => 2,
- Z_FULL_FLUSH => 3, Z_FINISH => 4, Z_BLOCK => 5 };
-# return codes for functions, positive normal, negative error
-use constant { Z_OK => 0, Z_STREAM_END => 1, Z_NEED_DICT => 2, Z_ERRNO => -1,
- Z_STREAM_ERROR => -2, Z_DATA_ERROR => -3, Z_MEM_ERROR => -4,
- Z_BUF_ERROR => -5, Z_VERSION_ERROR => -6 };
-# compression levels
-use constant { Z_NO_COMPRESSION => 0, Z_BEST_SPEED => 1,
- Z_BEST_COMPRESSION => 9, Z_DEFAULT_COMPRESSION => -1 };
-# compression strategy, for deflateInit
-use constant { Z_FILTERED => 1, Z_HUFFMAN_ONLY => 2, Z_RLE => 3,
- Z_DEFAULT_STRATEGY => 0 };
-# possible values of data_type (inflate)
-use constant { Z_BINARY => 0, Z_ASCII => 1, Z_UNKNOWN => 2 };
-# the deflate compression method
-use constant Z_DEFLATED => 8;
-# for initialization
-use constant Z_NULL => 0;
-
-## gzopen, $gzerror, gzerror, gzclose, gzreadline, gzwrite
-
-sub AUTOLOAD {
- # This AUTOLOAD is used to 'autoload' constants from the constant()
- # XS function.
-
- my $constname;
- our $AUTOLOAD;
- ($constname = $AUTOLOAD) =~ s/.*:://;
- croak "&Compress::Bzip2::constant not defined" if $constname eq 'constant';
- my ($error, $val) = constant($constname);
- if ($error) { croak $error; }
- {
- no strict 'refs';
- # Fixed between 5.005_53 and 5.005_61
-#XXX if ($] >= 5.00561) {
-#XXX *$AUTOLOAD = sub () { $val };
-#XXX }
-#XXX else {
- *$AUTOLOAD = sub { $val };
-#XXX }
- }
- goto &$AUTOLOAD;
-}
-
-require XSLoader;
-XSLoader::load('Compress::Bzip2', $VERSION);
-
-#bootstrap Compress::Bzip2 $VERSION;
-
-##############################################################################
-## file compress uncompress commands
-
-sub _writefileopen ( $$;$ ) {
- ## open a protected file for write
- my ( $handle, $filename, $force ) = @_;
-
- if ( sysopen($handle, $filename, $force ? O_WRONLY|O_CREAT|O_TRUNC : O_WRONLY|O_CREAT|O_EXCL, S_IWUSR|S_IRUSR) ) {
- $_[0] = $handle if !defined($_[0]);
- return $handle;
- }
-
- return undef;
-}
-
-sub _stat_snapshot ( $ ) {
- my ( $filename ) = @_;
- return undef if !defined($filename);
-
- my @stats = stat $filename;
- if (!@stats) {
- warn "stat of $filename failed: $!\n" if !@stats;
- return undef;
- }
-
- return \@stats;
-}
-
-sub _check_stat ( $$;$ ) {
- my ( $filename, $statsnap, $force ) = @_;
-
- if ( !defined($statsnap) || (ref($statsnap) eq 'ARRAY' && @$statsnap == 0) ) {
- $statsnap = _stat_snapshot( $filename );
- if ( $statsnap ) {
- if ( @_>1 ) {
- if ( !defined($_[1]) ) {
- $_[1] = $statsnap;
- }
- elsif ( ref($_[1]) eq 'ARRAY' && @{ $_[1] } == 0 ) {
- @{ $_[1] } = @$statsnap;
- }
- }
- }
- else {
- return undef;
- }
- }
-
- if ( S_ISDIR( $statsnap->[2] ) ) {
- bz_seterror( &BZ_IO_ERROR, "file $filename is a directory" );
- return 0;
- }
-
- if ( !S_ISREG( $statsnap->[2] ) ) {
- bz_seterror( &BZ_IO_ERROR, "file $filename is not a normal file" );
- return 0;
- }
-
- if ( !$force && S_ISLNK( $statsnap->[2] ) ) {
- bz_seterror( &BZ_IO_ERROR, "file $filename is a symlink" );
- return 0;
- }
-
- if ( !$force && $statsnap->[3] > 1 ) {
- bz_seterror( &BZ_IO_ERROR, "file $filename has too many hard links" );
- return 0;
- }
-
- return 1;
-}
-
-sub _set_stat_from_snapshot ( $$ ) {
- my ( $filename, $statsnap ) = @_;
-
- if ( !chmod( S_IMODE( $statsnap->[2] ), $filename ) ) {
- bz_seterror( &BZ_IO_ERROR, "chmod ".sprintf('%03o', S_IMODE( $statsnap->[2] ))." $filename failed: $!" );
- return undef;
- }
-
- if ( !utime @$statsnap[8,9], $filename ) {
- bz_seterror( &BZ_IO_ERROR,
- "utime " . join(' ',map { strftime('%Y-%m-%d %H:%M:%S', localtime $_) } @$statsnap[8,9] ) .
- " $filename failed: $!" );
- return undef;
- }
-
- if ( !chown @$statsnap[4,5], $filename ) {
- bz_seterror( &BZ_IO_ERROR,
- "chown " . join(':', ( getpwuid($statsnap->[4]) )[0], ( getgrgid($statsnap->[5]) )[0]) .
- " $filename failed: $!" );
- return 0;
- }
-
- return 1;
-}
-
-sub bzip2 ( @ ) {
- return _process_files( 'bzip2', 'cfvks123456789', @_ );
-}
-
-sub bunzip2 ( @ ) {
- return _process_files( 'bunzip2', 'cdzfks123456789', @_ );
-}
-
-sub bzcat ( @ ) {
- return _process_files( 'bzcat', 'cdzfks123456789', @_ );
-}
-
-sub _process_files ( @ ) {
- my $command = shift;
- my $opts = shift;
-
- local @ARGV = @_;
-
- my %opts;
- return undef if !getopt( $opts, \%opts );
- # c compress or decompress to stdout
- # d decompress
- # z compress
- # f force
- # v verbose
- # k keep
- # s small
- # 123456789
-
- $opts{c} = 1 if $command eq 'bzcat';
- $opts{d} = 1 if $command eq 'bunzip2' || $command eq 'bzcat';
- $opts{z} = 1 if $command eq 'bzip2';
-
- my $read_from_stdin;
- my ( $in, $bzin );
- my ( $out, $bzout );
-
- if ( !@ARGV ) {
- $read_from_stdin = 1;
- $opts{c} = 1;
- if ( !open( $in, "<&STDIN" ) ) {
- die "Error: failed to input from STDIN: '$!'\n";
- }
-
- $bzin = bzopen( $in, "r" );
- }
-
- if ( $opts{c} ) {
- if ( !open( $out, ">&STDOUT" ) ) {
- die "Error: failed to output to STDOUT: '$!'\n";
- }
-
- $bzout = bzopen( $out, "w" );
- }
-
- if ( !$opts{d} && !$opts{z} ) {
- die "Error: neither compress nor decompress was indicated.\n";
- }
-
- my $doneflag = 0;
- while ( !$doneflag ) {
- my $infile;
- my $outfile;
- my @statbuf;
-
- if ( !$read_from_stdin ) {
- $infile = shift @ARGV;
- if ( ! -r $infile ) {
- print STDERR "Error: file $infile is not readable\n";
- next;
- }
-
- @statbuf = stat _;
- if ( !@statbuf ) {
- print STDERR "Error: failed to stat $infile: '$!'\n";
- next;
- }
-
- if ( !_check_stat( $infile, \@statbuf, $opts{f} ) ) {
- print STDERR "Error: file $infile stat check fails: $bzerrno\n";
- next;
- }
- }
-
- my $outfile_exists;
- if ( !$opts{c} ) {
- undef $out;
- if ( $opts{d} ) {
- $outfile = $infile . '.bz2';
- }
- elsif ( $opts{z} ) {
- $outfile = $infile =~ /\.bz2$/ ? substr($infile,0,-4) : $infile.'.out';
- }
-
- $outfile_exists = -e $outfile;
- if ( !_writefileopen( $out, $outfile, $opts{f} ) ) {
- print STDERR "Error: failed to open $outfile for write: '$!'\n";
- next;
- }
- }
-
- if ( !$read_from_stdin ) {
- undef $in;
- if ( !open( $in, $infile ) ) {
- print STDERR "Error: unable to open $infile: '$!'\n";
- unlink( $outfile ) if !$outfile_exists;
- next;
- }
- }
-
- if ( $opts{d} ) {
- $bzin = bzopen( $in, "r" ) if !$read_from_stdin;
-
- my $buf;
- my $notdone = 1;
- while ( $notdone ) {
- my $ln = bzread( $in, $buf, 1024 );
- if ( $ln > 0 ) {
- syswrite( $out, $buf, $ln );
- }
- elsif ( $ln == 0 ) {
- undef $notdone;
- }
- else {
- }
- }
-
- close($out);
-
- if ( !$read_from_stdin ) {
- bzclose($in);
- unlink( $infile ) if !$opts{k};
- _set_stat_from_snapshot( $outfile, \@statbuf );
- }
- }
- elsif ( $opts{z} ) {
- $bzout = bzopen( $out, "w" ) if !$opts{c};
-
- my $buf;
- my $notdone = 1;
- while ( $notdone ) {
- my $ln = sysread( $in, $buf, 1024 );
- if ( $ln > 0 ) {
- bzwrite( $bzout, $buf, $ln );
- }
- elsif ( $ln == 0 ) {
- undef $notdone;
- }
- else {
- }
- }
-
- close($in);
-
- if ( !$opts{c} ) {
- bzclose($bzout);
- unlink( $infile ) if !$opts{k};
- _set_stat_from_snapshot( $outfile, \@statbuf );
- }
- }
- }
-}
-
-##############################################################################
-##############################################################################
-## compatibility with Compress::Bzip2 1.03
-
-sub add ( $$ ) {
- my ( $obj, $buffer ) = @_;
-
- my @res = $obj->is_write ? $obj->bzdeflate( $buffer ) : $obj->bzinflate( $buffer );
-
- return $res[0];
-}
-
-sub finish ( $;$ ) {
- my ( $obj, $buffer ) = @_;
- my ( @res, $out );
-
- if ( defined($buffer) ) {
- @res = $obj->is_write ? $obj->bzdeflate( $buffer ) : $obj->bzinflate( $buffer );
- return undef if $res[1] != &BZ_OK;
-
- $out = $res[0];
- }
- $out = '' if !defined($out);
-
- @res = $obj->bzclose;
- return undef if $res[1] != &BZ_OK;
-
- return $out.$res[0];
-}
-
-sub input_size ( $ ) {
- my ( $obj ) = @_;
- return $obj->total_in;
-}
-
-sub output_size ( $ ) {
- my ( $obj ) = @_;
- return $obj->total_out;
-}
-
-sub version ( ) {
- return bzlibversion();
-}
-
-sub error ( $ ) {
- return $_[0]->bzerror;
-}
-
-##############################################################################
-##############################################################################
-## THE Compress::Zlib compatibility section
-
-sub _bzerror2gzerror {
- my ( $bz_error_num ) = @_;
- my $gz_error_num =
- $bz_error_num == &BZ_OK ? Z_OK :
- $bz_error_num == &BZ_RUN_OK ? Z_OK :
- $bz_error_num == &BZ_FLUSH_OK ? Z_STREAM_END :
- $bz_error_num == &BZ_FINISH_OK ? Z_STREAM_END :
- $bz_error_num == &BZ_STREAM_END ? Z_STREAM_END :
-
- $bz_error_num == &BZ_SEQUENCE_ERROR ? Z_VERSION_ERROR :
- $bz_error_num == &BZ_PARAM_ERROR ? Z_ERRNO :
- $bz_error_num == &BZ_MEM_ERROR ? Z_MEM_ERROR :
- $bz_error_num == &BZ_DATA_ERROR ? Z_DATA_ERROR :
- $bz_error_num == &BZ_DATA_ERROR_MAGIC ? Z_DATA_ERROR :
- $bz_error_num == &BZ_IO_ERROR ? Z_ERRNO :
- $bz_error_num == &BZ_UNEXPECTED_EOF ? Z_STREAM_ERROR :
- $bz_error_num == &BZ_OUTBUFF_FULL ? Z_BUF_ERROR :
- $bz_error_num == &BZ_CONFIG_ERROR ? Z_VERSION_ERROR :
- Z_VERSION_ERROR
- ;
-
- return $gz_error_num;
-}
-
-sub gzopen ( $$ ) {
- goto &bzopen;
-}
-
-sub gzread ( $$;$ ) {
- goto &bzread;
-}
-
-sub gzreadline ( $$ ) {
- goto &bzreadline;
-}
-
-sub gzwrite ( $$ ) {
- goto &bzwrite;
-}
-
-sub gzflush ( $;$ ) {
- my ( $obj, $flush ) = @_;
- return Z_OK if $flush == Z_NO_FLUSH;
- goto &bzflush;
-}
-
-sub gzclose ( $ ) {
- goto &bzclose;
-}
-
-sub gzeof ( $ ) {
- goto &bzeof;
-}
-
-sub gzsetparams ( $$$ ) {
- ## ignore params
- my ( $obj, $level, $strategy ) = @_;
- return Z_OK;
-}
-
-sub gzerror ( $ ) {
- goto &bzerror;
-}
-
-sub deflateInit ( @ ) {
- ## ignore all options:
- ## -Level, -Method, -WindowBits, -MemLevel, -Strategy, -Dictionary, -Bufsize
-
- my @res = bzdeflateInit();
- return $res[0] if !wantarray;
-
- return ( $res[0], _bzerror2gzerror( $res[1] ) );
-}
-
-sub deflate ( $$ ) {
- my ( $obj, $buffer ) = @_;
-
- my @res = $obj->bzdeflate( $buffer );
-
- return $res[0] if !wantarray;
- return ( $res[0], _bzerror2gzerror( $res[1] ) );
-}
-
-sub deflateParams ( $;@ ) {
- ## ignore all options
- return Z_OK;
-}
-
-sub flush ( $;$ ) {
- my ( $obj, $flush_type ) = @_;
-
- $flush_type = Z_FINISH if !defined($flush_type);
- return Z_OK if $flush_type == Z_NO_FLUSH;
-
- my $bz_flush_type;
- my @res;
-
- $bz_flush_type =
- $flush_type == Z_PARTIAL_FLUSH || $flush_type == Z_SYNC_FLUSH ? &BZ_FLUSH :
- $flush_type == Z_FULL_FLUSH ? &BZ_FINISH :
- &BZ_FINISH;
-
- @res = $obj->bzflush( $bz_flush_type );
-
- return $res[0] if !wantarray;
- return ( $res[0], _bzerror2gzerror( $res[1] ) );
-}
-
-sub dict_adler ( $ ) {
- return 1; # ???
-}
-
-sub msg ( $ ) {
- my ( $obj ) = @_;
-
- return ''.($obj->bzerror).''; # stringify
-}
-
-sub inflateInit ( @ ) {
- ## ignore all options:
- ## -WindowBits, -Dictionary, -Bufsize
-
- my @res = bzinflateInit();
- return $res[0] if !wantarray;
-
- return ( $res[0], _bzerror2gzerror( $res[1] ) );
-}
-
-sub inflate ( $$ ) {
- my ( $obj, $buffer ) = @_;
-
- my @res = $obj->bzinflate( $buffer );
-
- return $res[0] if !wantarray;
- return ( $res[0], _bzerror2gzerror( $res[1] ) );
-}
-
-sub inflateSync ( $ ) {
- return Z_VERSION_ERROR; # ?? what
-}
-
-sub memGzip ( $ ) {
- goto &memBzip;
-}
-
-sub memGunzip ( $ ) {
- goto &memBunzip;
-}
-
-sub adler32 ( $;$ ) {
- return 0;
-}
-
-sub crc32 ( $;$ ) {
- return 0;
-}
-
-# sub compress ( $;$ ) {
-# ## ignore $level
-# my ( $source, $level ) = @_;
-# return memBzip( $source );
-# }
-
-sub uncompress ( $ ) {
- my ( $source, $level ) = @_;
- return memBunzip( $source );
-}
-
-# Autoload methods go after =cut, and are processed by the autosplit program.
-
-1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-Compress::Bzip2 - Interface to Bzip2 compression library
-
-=head1 SYNOPSIS
-
- use Compress::Bzip2 qw(:all :constant :utilities :gzip);
-
- ($bz, $status) = bzdeflateInit( [PARAMS] ) ;
- ($out, $status) = $bz->bzdeflate($buffer) ;
-
- ($bz, $status) = bzinflateInit( [PARAMS] ) ;
- ($out, $status) = $bz->bzinflate($buffer) ;
-
- ($out, $status) = $bz->bzflush() ;
- ($out, $status) = $bz->bzclose() ;
-
- $dest = memBzip($source);
- alias compress
- $dest = memBunzip($source);
- alias decompress
-
- $bz = Compress::Bzip2->new( [PARAMS] );
-
- $bz = bzopen($filename or filehandle, $mode);
- alternate, with $bz created by new():
- $bz->bzopen($filename or filehandle, $mode);
-
- $bytesread = $bz->bzread($buffer [,$size]) ;
- $bytesread = $bz->bzreadline($line);
- $byteswritten = $bz->bzwrite($buffer [,$limit]);
- $errstring = $bz->bzerror();
- $status = $bz->bzeof();
- $status = $bz->bzflush();
- $status = $bz->bzclose() ;
-
- $status = $bz->bzsetparams( $param => $setting );
-
- $bz->total_in() ;
- $bz->total_out() ;
-
- $verstring = $bz->bzversion();
-
- $Compress::Bzip2::bzerrno
-
-=head1 DESCRIPTION
-
-The I<Compress::Bzip2> module provides a Perl interface to the I<Bzip2>
-compression library (see L</AUTHOR> for details about where to get
-I<Bzip2>). A relevant subset of the functionality provided by I<Bzip2>
-is available in I<Compress::Bzip2>.
-
-All string parameters can either be a scalar or a scalar reference.
-
-The module can be split into two general areas of functionality, namely
-in-memory compression/decompression and read/write access to I<bzip2>
-files. Each of these areas will be discussed separately below.
-
-=head1 FILE READ/WRITE INTERFACE
-
-A number of functions are supplied in I<bzlib> for reading and writing
-I<bzip2> files. Unfortunately, most of them are not suitable. So, this
-module provides another interface, built over top of the low level bzlib
-methods.
-
-=over 5
-
-=head2 B<$bz = bzopen(filename or filehandle, mode)>
-
-This function returns an object which is used to access the other
-I<bzip2> methods.
-
-The B<mode> parameter is used to specify both whether the file is
-opened for reading or writing, with "r" or "w" respectively.
-
-If a reference to an open filehandle is passed in place of the
-filename, it better be positioned to the start of a
-compression/decompression sequence.
-
-=head2 B<$bz = Compress::Bzip2-E<gt>new( [PARAMS] )>
-
-Create a Compress::Bzip2 object. Optionally, provide
-compression/decompression parameters as a keyword => setting list.
-See I<bzsetparams()> for a description of the parameters.
-
-=head2 B<$bz-E<gt>bzopen(filename or filehandle, mode)>
-
-This is bzopen, but it uses an object previously created by the new
-method. Other than that, it is identical to the above bzopen.
-
-=head2 B<$bytesread = $bz-E<gt>bzread($buffer [, $size]) ;>
-
-Reads B<$size> bytes from the compressed file into B<$buffer>. If
-B<$size> is not specified, it will default to 4096. If the scalar
-B<$buffer> is not large enough, it will be extended automatically.
-
-Returns the number of bytes actually read. On EOF it returns 0 and in
-the case of an error, -1.
-
-=head2 B<$bytesread = $bz-E<gt>bzreadline($line) ;>
-
-Reads the next line from the compressed file into B<$line>.
-
-Returns the number of bytes actually read. On EOF it returns 0 and in
-the case of an error, -1.
-
-It IS legal to intermix calls to B<bzread> and B<bzreadline>.
-
-At this time B<bzreadline> ignores the variable C<$/>
-(C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C<English> is in use). The
-end of a line is denoted by the C character C<'\n'>.
-
-=head2 B<$byteswritten = $bz-E<gt>bzwrite($buffer [, $limit]) ;>
-
-Writes the contents of B<$buffer> to the compressed file. Returns the
-number of bytes actually written, or 0 on error.
-
-If $limit is given and non-zero, then only that many bytes from
-$buffer will be written.
-
-=head2 B<$status = $bz-E<gt>bzflush($flush) ;>
-
-Flushes all pending output to the compressed file.
-Works identically to the I<zlib> function it interfaces to. Note that
-the use of B<bzflush> can degrade compression.
-
-Returns C<BZ_OK> if B<$flush> is C<BZ_FINISH> and all output could be
-flushed. Otherwise the bzlib error code is returned.
-
-Refer to the I<bzlib> documentation for the valid values of B<$flush>.
-
-=head2 B<$status = $bz-E<gt>bzeof() ;>
-
-Returns 1 if the end of file has been detected while reading the input
-file, otherwise returns 0.
-
-=head2 B<$bz-E<gt>bzclose>
-
-Closes the compressed file. Any pending data is flushed to the file
-before it is closed.
-
-=head2 B<$bz-E<gt>bzsetparams( [PARAMS] );>
-
-Change settings for the deflate stream C<$bz>.
-
-The list of the valid options is shown below. Options not specified
-will remain unchanged.
-
-=over 5
-
-=item B<-verbosity>
-
-Defines the verbosity level. Valid values are 0 through 4,
-
-The default is C<-verbosity =E<gt> 0>.
-
-=item B<-blockSize100k>
-
-For bzip object opened for stream deflation or write.
-
-Defines the buffering factor of compression method. The algorithm
-buffers all data until the buffer is full, then it flushes all the
-data out. Use -blockSize100k to specify the size of the buffer.
-
-Valid settings are 1 through 9, representing a blocking in multiples
-of 100k.
-
-Note that each such block has an overhead of leading and trailing
-synchronization bytes. bzip2 recovery uses this information to
-pull useable data out of a corrupted file.
-
-A streaming application would probably want to set the blocking low.
-
-=item B<-workFactor>
-
-For bzip object opened for stream deflation or write.
-
-The workFactor setting tells the deflation algorithm how much work
-to invest to compensate for repetitive data.
-
-workFactor may be a number from 0 to 250 inclusive. The default setting
-is 30.
-
-See the bzip documentation for more information.
-
-=item B<-small>
-
-For bzip object opened for stream inflation or read.
-
-B<small> may be 0 or 1. Set C<small> to one to use a slower, less
-memory intensive algorithm.
-
-=back
-
-=head2 B<$bz-E<gt>bzerror>
-
-Returns the I<bzlib> error message or number for the last operation
-associated with B<$bz>. The return value will be the I<bzlib> error
-number when used in a numeric context and the I<bzlib> error message
-when used in a string context. The I<bzlib> error number constants,
-shown below, are available for use.
-
- BZ_CONFIG_ERROR
- BZ_DATA_ERROR
- BZ_DATA_ERROR_MAGIC
- BZ_FINISH
- BZ_FINISH_OK
- BZ_FLUSH
- BZ_FLUSH_OK
- BZ_IO_ERROR
- BZ_MAX_UNUSED
- BZ_MEM_ERROR
- BZ_OK
- BZ_OUTBUFF_FULL
- BZ_PARAM_ERROR
- BZ_RUN
- BZ_RUN_OK
- BZ_SEQUENCE_ERROR
- BZ_STREAM_END
- BZ_UNEXPECTED_EOF
-
-=head2 B<$bzerrno>
-
-The B<$bzerrno> scalar holds the error code associated with the most
-recent I<bzip2> routine. Note that unlike B<bzerror()>, the error is
-I<not> associated with a particular file.
-
-As with B<bzerror()> it returns an error number in numeric context and
-an error message in string context. Unlike B<bzerror()> though, the
-error message will correspond to the I<bzlib> message when the error is
-associated with I<bzlib> itself, or the UNIX error message when it is
-not (i.e. I<bzlib> returned C<Z_ERRORNO>).
-
-As there is an overlap between the error numbers used by I<bzlib> and
-UNIX, B<$bzerrno> should only be used to check for the presence of
-I<an> error in numeric context. Use B<bzerror()> to check for specific
-I<bzlib> errors. The I<bzcat> example below shows how the variable can
-be used safely.
-
-=back
-
-=head1 Compress::Bzip2 1.03 COMPATIBILITY
-
-While the 2.x thread forked off of 1.00, another line of development
-came to a head at 1.03. The 1.03 version worked with bzlib 1.0.2, had
-improvements to the error handling, single buffer inflate/deflate, a
-streaming interface to inflate/deflate, and a cpan style test suite.
-
-=over 5
-
-=head2 B<$dest = compress( $string, [$level] )>
-
-Alias to memBzip, this compresses string, using the optional
-compression level, 1 through 9, the default being 1. Returns a string
-containing the compressed data.
-
-On error I<undef> is returned.
-
-=head2 B<$dest = decompress($string)>
-
-Alias to memBunzip, this decompresses the data in string, returning a
-string containing the decompressed data.
-
-On error I<undef> is returned.
-
-=head2 B<$stream = compress_init( [PARAMS] )>
-
-Alias to bzdeflateInit. In addition to the named parameters
-documented for bzdeflateInit, the following are accepted:
-
- -level, alias to -blockSize100k
- -buffer, to set the buffer size.
-
-The -buffer option is ignored. The intermediate buffer size is not
-changeable.
-
-=head2 B<$stream = decompress_init( [PARAMS] )>
-
-Alias to bzinflateInit. See bzinflateInit for a description of the parameters.
-The option "-buffer" is accepted, but ignored.
-
-=head2 B<$output = $stream-E<gt>add( $string )>
-
-Add data to be compressed/decompressed. Returns whatever output is available
-(possibly none, if it's still buffering it), or undef on error.
-
-=head2 B<$output = $stream-E<gt>finish( [$string] )>
-
-Finish the operation; takes an optional final data string. Whatever is
-returned completes the output; returns undef on error.
-
-=head2 B<$stream-E<gt>error>
-
-Like the function, but applies to the current object only. Note that errors
-in a stream object are also returned by the function.
-
-=head2 B<$stream-E<gt>input_size>
-
-Alias to total_in. Total bytes passed to the stream.
-
-=head2 B<$stream-E<gt>output_size>
-
-Alias to total_out. Total bytes received from the stream.
-
-=back
-
-=head1 GZIP COMPATIBILITY INTERFACE
-
-Except for the exact state and error numbers, this package presents an
-interface very much like that given by the Compress::Zlib package.
-Mostly, if you take the method name, state or error number from
-Compress::Zlib and replace the "g" with a "b", your code should work.
-
-To make the interoperability even easier, all the Compress::Zlib method
-names have been used as aliases or cover functions for the bzip2 methods.
-
-Therefore, most code that uses Compress::Zlib should be able to use
-this package, with a one line change.
-
-Simply change
-
- $gz = Compress::Zlib::gzopen( "filename", "w" );
-
-to
-
- $gz = Compress::Bzip2::gzopen( "filename", "w" );
-
-Some of the Compress::Zlib aliases don't return anything useful, like
-crc32 or adler32, cause bzip2 doesn't do that sort of thing.
-
-=over 5
-
-=head2 B< $gz = gzopen( $filename, $mode ) >
-
-Alias for bzopen.
-
-=head2 B< $gz-E<gt>gzread( $buffer, [ $length ] ) >
-
-Alias for bzread.
-
-=head2 B< $gz-E<gt>gzreadline( $buffer ) >
-
-Alias for bzreadline.
-
-=head2 B< $gz-E<gt>gzwrite( $buffer ) >
-
-Alias for bzwrite.
-
-=head2 B< $gz-E<gt>gzflush( [$flushtype] ) >
-
-Alias for bzflush, with return code translation.
-
-=head2 B< $gz-E<gt>gzclose( ) >
-
-Alias for bzclose.
-
-=head2 B< $gz-E<gt>gzeof( ) >
-
-Alias for bzeof.
-
-=head2 B< $gz-E<gt>gzerror( ) >
-
-Alias for bzerror.
-
-=head2 B< $gz-E<gt>gzsetparams( $level, $strategy ) >
-
-This is a no-op.
-
-=head2 B< $d = deflateInit( [OPTS] ) >
-
-Alias for bzdeflateInit, with return code translation.
-
-All OPTS are ignored.
-
-=head2 B< $d-E<gt>deflate( $buffer ) >
-
-Alias for bzdeflate, with return code translation.
-
-=head2 B< $d-E<gt>deflateParams( [OPTS] ) >
-
-This is a no-op.
-
-=head2 B< $d-E<gt>flush( [$flushtype] ) >
-
-Cover function for bzflush or bzclose, depending on $flushtype.
-
-See the Compress::Zlib documentation for more information.
-
-=head2 B< $d-E<gt>dict_adler( ) >
-
-This is a no-op.
-
-=head2 B< $d-E<gt>msg( ) >
-
-This is a no-op.
-
-=head2 B< $d = inflateInit( [OPTS] ) >
-
-Alias for bzinflateInit, with return code translation.
-
-All OPTS are ignored.
-
-=head2 B< $d-E<gt>inflate( ) >
-
-Alias for bzinflate, with return code translation.
-
-=head2 B< $d-E<gt>inflateSync( ) >
-
-This is a no-op.
-
-=head2 B< $d-E<gt>adler32( $crc ) >
-
-This is a no-op.
-
-=head2 B< $d-E<gt>crc32( $crc ) >
-
-This is a no-op.
-
-=head2 B< $buffer = memGzip( $buffer ) >
-
-Alias for memBzip.
-
-=head2 B< $buffer = memGunzip( $buffer ) >
-
-Alias for memBunzip.
-
-=back
-
-=head1 IN-MEMORY COMPRESS/UNCOMPRESS
-
-Two high-level functions are provided by I<bzlib> to perform in-memory
-compression. They are B<memBzip> and B<memBunzip>. Two Perl subs are
-provided which provide similar functionality.
-
-=over 5
-
-=head2 B<$compressed = memBzip($buffer);>
-
-Compresses B<$source>. If successful it returns the compressed
-data. Otherwise it returns I<undef>.
-
-The buffer parameter can either be a scalar or a scalar reference.
-
-Essentially, an in-memory bzip file is created. It creates a minimal
-bzip header.
-
-=head2 B<$uncompressed = memBunzip($buffer);>
-
-Uncompresses B<$source>. If successful it returns the uncompressed
-data. Otherwise it returns I<undef>.
-
-The source buffer can either be a scalar or a scalar reference.
-
-The buffer parameter can either be a scalar or a scalar reference. The
-contents of the buffer parameter are destroyed after calling this
-function.
-
-=back
-
-=head1 STREAM DEFLATE
-
-The Perl interface will I<always> consume the complete input buffer
-before returning. Also the output buffer returned will be
-automatically grown to fit the amount of output available.
-
-Here is a definition of the interface available:
-
-=head2 B<($d, $status) = bzdeflateInit( [PARAMS] )>
-
-Initialises a deflation stream.
-
-If successful, it will return the initialised deflation stream, B<$d>
-and B<$status> of C<BZ_OK> in a list context. In scalar context it
-returns the deflation stream, B<$d>, only.
-
-If not successful, the returned deflation stream (B<$d>) will be
-I<undef> and B<$status> will hold the exact I<bzip2> error code.
-
-The function optionally takes a number of named options specified as
-C<-Name=E<gt>value> pairs. This allows individual options to be
-tailored without having to specify them all in the parameter list.
-
-Here is a list of the valid options:
-
-=over 5
-
-=item B<-verbosity>
-
-Defines the verbosity level. Valid values are 0 through 4,
-
-The default is C<-verbosity =E<gt> 0>.
-
-=item B<-blockSize100k>
-
-Defines the buffering factor of compression method. The algorithm
-buffers all data until the buffer is full, then it flushes all the
-data out. Use -blockSize100k to specify the size of the buffer.
-
-Valid settings are 1 through 9, representing a blocking in multiples
-of 100k.
-
-Note that each such block has an overhead of leading and trailing
-synchronization bytes. bzip2 recovery uses this information to
-pull useable data out of a corrupted file.
-
-A streaming application would probably want to set the blocking low.
-
-=item B<-workFactor>
-
-The workFactor setting tells the deflation algorithm how much work
-to invest to compensate for repetitive data.
-
-workFactor may be a number from 0 to 250 inclusive. The default setting
-is 30.
-
-See the bzip documentation for more information.
-
-=back
-
-Here is an example of using the B<deflateInit> optional parameter list
-to override the default buffer size and compression level. All other
-options will take their default values.
-
- bzdeflateInit( -blockSize100k => 1, -verbosity => 1 );
-
-=head2 B<($out, $status) = $d-E<gt>bzdeflate($buffer)>
-
-Deflates the contents of B<$buffer>. The buffer can either be a scalar
-or a scalar reference. When finished, B<$buffer> will be
-completely processed (assuming there were no errors). If the deflation
-was successful it returns deflated output, B<$out>, and a status
-value, B<$status>, of C<Z_OK>.
-
-On error, B<$out> will be I<undef> and B<$status> will contain the
-I<zlib> error code.
-
-In a scalar context B<bzdeflate> will return B<$out> only.
-
-As with the internal buffering of the I<deflate> function in I<bzip2>,
-it is not necessarily the case that any output will be produced by
-this method. So don't rely on the fact that B<$out> is empty for an
-error test. In fact, given the size of bzdeflates internal buffer,
-with most files it's likely you won't see any output at all until
-flush or close.
-
-=head2 B<($out, $status) = $d-E<gt>bzflush([flush_type])>
-
-Typically used to finish the deflation. Any pending output will be
-returned via B<$out>. B<$status> will have a value C<BZ_OK> if
-successful.
-
-In a scalar context B<bzflush> will return B<$out> only.
-
-Note that flushing can seriously degrade the compression ratio, so it
-should only be used to terminate a decompression (using C<BZ_FLUSH>) or
-when you want to create a I<full flush point> (using C<BZ_FINISH>).
-
-The allowable values for C<flush_type> are C<BZ_FLUSH> and C<BZ_FINISH>.
-
-For a handle opened for "w" (bzwrite), the default is C<BZ_FLUSH>.
-For a stream, the default for C<flush_type> is C<BZ_FINISH> (which is
-essentially a close and reopen).
-
-It is strongly recommended that you only set the C<flush_type>
-parameter if you fully understand the implications of what it
-does. See the C<bzip2> documentation for details.
-
-=head2 Example
-
-Here is a trivial example of using B<bzdeflate>. It simply reads standard
-input, deflates it and writes it to standard output.
-
- use strict ;
- use warnings ;
-
- use Compress::Bzip2 ;
-
- binmode STDIN;
- binmode STDOUT;
- my $x = bzdeflateInit()
- or die "Cannot create a deflation stream\n" ;
-
- my ($output, $status) ;
- while (<>)
- {
- ($output, $status) = $x->bzdeflate($_) ;
-
- $status == BZ_OK
- or die "deflation failed\n" ;
-
- print $output ;
- }
-
- ($output, $status) = $x->bzclose() ;
-
- $status == BZ_OK
- or die "deflation failed\n" ;
-
- print $output ;
-
-=head1 STREAM INFLATE
-
-Here is a definition of the interface:
-
-=head2 B<($i, $status) = inflateInit()>
-
-Initialises an inflation stream.
-
-In a list context it returns the inflation stream, B<$i>, and the
-I<zlib> status code (B<$status>). In a scalar context it returns the
-inflation stream only.
-
-If successful, B<$i> will hold the inflation stream and B<$status> will
-be C<BZ_OK>.
-
-If not successful, B<$i> will be I<undef> and B<$status> will hold the
-I<bzlib.h> error code.
-
-The function optionally takes a number of named options specified as
-C<-Name=E<gt>value> pairs. This allows individual options to be
-tailored without having to specify them all in the parameter list.
-
-For backward compatibility, it is also possible to pass the parameters
-as a reference to a hash containing the name=>value pairs.
-
-The function takes one optional parameter, a reference to a hash. The
-contents of the hash allow the deflation interface to be tailored.
-
-Here is a list of the valid options:
-
-=over 5
-
-=item B<-small>
-
-B<small> may be 0 or 1. Set C<small> to one to use a slower, less
-memory intensive algorithm.
-
-=item B<-verbosity>
-
-Defines the verbosity level. Valid values are 0 through 4,
-
-The default is C<-verbosity =E<gt> 0>.
-
-=back
-
-Here is an example of using the B<bzinflateInit> optional parameter.
-
- bzinflateInit( -small => 1, -verbosity => 1 );
-
-=head2 B<($out, $status) = $i-E<gt>bzinflate($buffer)>
-
-Inflates the complete contents of B<$buffer>. The buffer can either be
-a scalar or a scalar reference.
-
-Returns C<BZ_OK> if successful and C<BZ_STREAM_END> if the end of the
-compressed data has been successfully reached. If not successful,
-B<$out> will be I<undef> and B<$status> will hold the I<bzlib> error
-code.
-
-The C<$buffer> parameter is modified by C<bzinflate>. On completion it
-will contain what remains of the input buffer after inflation. This
-means that C<$buffer> will be an empty string when the return status
-is C<BZ_OK>. When the return status is C<BZ_STREAM_END> the C<$buffer>
-parameter will contains what (if anything) was stored in the input
-buffer after the deflated data stream.
-
-This feature is useful when processing a file format that encapsulates
-a compressed data stream.
-
-=head2 Example
-
-Here is an example of using B<bzinflate>.
-
- use strict ;
- use warnings ;
-
- use Compress::Bzip2;
-
- my $x = bzinflateInit()
- or die "Cannot create a inflation stream\n" ;
-
- my $input = '' ;
- binmode STDIN;
- binmode STDOUT;
-
- my ($output, $status) ;
- while (read(STDIN, $input, 4096))
- {
- ($output, $status) = $x->bzinflate(\$input) ;
-
- print $output
- if $status == BZ_OK or $status == BZ_STREAM_END ;
-
- last if $status != BZ_OK ;
- }
-
- die "inflation failed\n"
- unless $status == BZ_STREAM_END ;
-
-=head1 EXAMPLES
-
-Here are some example scripts of using the interface.
-
-=over 5
-
-=head2 B<A bzcat function>
-
- use strict ;
- use warnings ;
-
- use Compress::Bzip2 ;
-
- die "Usage: bzcat file...\n" unless @ARGV ;
-
- my $file ;
-
- foreach $file (@ARGV) {
- my $buffer ;
-
- my $bz = bzopen($file, "rb")
- or die "Cannot open $file: $bzerrno\n" ;
-
- print $buffer while $bz->bzread($buffer) > 0 ;
-
- die "Error reading from $file: $bzerrno" . ($bzerrno+0) . "\n"
- if $bzerrno != BZ_STREAM_END ;
-
- $bz->bzclose() ;
- }
-
-=head2 B<A grep using bzreadline>
-
- use strict ;
- use warnings ;
-
- use Compress::Bzip2 ;
-
- die "Usage: bzgrep pattern file...\n" unless @ARGV >= 2;
-
- my $pattern = shift ;
-
- my $file ;
-
- foreach $file (@ARGV) {
- my $bz = bzopen($file, "rb")
- or die "Cannot open $file: $bzerrno\n" ;
-
- while ($bz->bzreadline($_) > 0) {
- print if /$pattern/ ;
- }
-
- die "Error reading from $file: $bzerrno\n"
- if $bzerrno != Z_STREAM_END ;
-
- $bz->bzclose() ;
- }
-
-=head2 B<Streaming Compression>
-
-This script, I<bzstream>, does the opposite of the I<bzcat> script
-above. It reads from standard input and writes a bzip file to standard
-output.
-
- use strict ;
- use warnings ;
-
- use Compress::Bzip2 ;
-
- binmode STDOUT; # bzopen only sets it on the fd
-
- my $bz = bzopen(\*STDOUT, "wb")
- or die "Cannot open stdout: $bzerrno\n" ;
-
- while (<>) {
- $bz->bzwrite($_) or die "error writing: $bzerrno\n" ;
- }
-
- $bz->bzclose ;
-
-=back
-
-=head1 EXPORT
-
-Use the tags :all, :utilities, :constants, :bzip1 and :gzip.
-
-=head2 Export tag :all
-
-This exports all the exportable methods.
-
-=head2 Export tag :constants
-
-This exports only the BZ_* constants.
-
-=head2 Export tag :bzip1
-
-This exports the Compress::Bzip2 1.x functions, for compatibility.
-
- compress
- decompress
- compress_init
- decompress_init
- version
-
-These are actually aliases to memBzip and memBunzip.
-
-=head2 Export tag :utilities
-
-This gives an interface to the bzip2 methods.
-
- bzopen
- bzinflateInit
- bzdeflateInit
- memBzip
- memBunzip
- bzip2
- bunzip2
- bzcat
- bzlibversion
- $bzerrno
-
-=head2 Export tag :gzip
-
-This gives compatibility with Compress::Zlib.
-
- gzopen
- gzinflateInit
- gzdeflateInit
- memGzip
- memGunzip
- $gzerrno
-
-=head1 Exportable constants
-
-All the I<bzlib> constants are automatically imported when you make use
-of I<Compress::Bzip2>.
-
- BZ_CONFIG_ERROR
- BZ_DATA_ERROR
- BZ_DATA_ERROR_MAGIC
- BZ_FINISH
- BZ_FINISH_OK
- BZ_FLUSH
- BZ_FLUSH_OK
- BZ_IO_ERROR
- BZ_MAX_UNUSED
- BZ_MEM_ERROR
- BZ_OK
- BZ_OUTBUFF_FULL
- BZ_PARAM_ERROR
- BZ_RUN
- BZ_RUN_OK
- BZ_SEQUENCE_ERROR
- BZ_STREAM_END
- BZ_UNEXPECTED_EOF
-
-=head1 SEE ALSO
-
-The documentation for zlib, bzip2 and Compress::Zlib.
-
-=head1 AUTHOR
-
-Rob Janes, E<lt>arjay at cpan.orgE<gt>
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (C) 2005 by Rob Janes
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself, either Perl version 5.8.3 or,
-at your option, any later version of Perl 5 you may have available.
-
-=head1 AUTHOR
-
-The I<Compress::Bzip2> module was originally written by Gawdi Azem
-F<azemgi@rupert.informatik.uni-stuttgart.de>.
-
-The first I<Compress::Bzip2> module was written by Gawdi Azem
-F<azemgi@rupert.informatik.uni-stuttgart.de>. It provided an
-interface to the in memory inflate and deflate routines.
-
-I<Compress::Bzip2> was subsequently passed on to Marco Carnut
-F<kiko@tempest.com.br> who shepharded it through to version 1.03, a
-set of changes which included upgrades to handle bzlib 1.0.2, and
-improvements to the in memory inflate and deflate routines. The
-streaming interface and error information were added by David Robins
-F<dbrobins@davidrobins.net>.
-
-Version 2 of I<Compress::Bzip2> is due to Rob Janes, of
-arjay@cpan.org. This release is intended to give an interface
-close to that of Compress::Zlib. It's development forks from 1.00,
-not 1.03, so the streaming interface is not the same as that in 1.03,
-although apparently compatible as it passes the 1.03 test suite.
-
-=head1 MODIFICATION HISTORY
-
-See the Changes file.
-
-2.00 Second public release of I<Compress::Bzip2>.
-
-
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Raw/Bzip2.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Raw/Bzip2.pm
deleted file mode 100644
index 041a3eec989..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Raw/Bzip2.pm
+++ /dev/null
@@ -1,329 +0,0 @@
-
-package Compress::Raw::Bzip2;
-
-use strict ;
-use warnings ;
-
-require 5.004 ;
-require Exporter;
-use AutoLoader;
-use Carp ;
-
-use bytes ;
-our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
-
-$VERSION = '2.011';
-$XS_VERSION = $VERSION;
-$VERSION = eval $VERSION;
-
-@ISA = qw(Exporter);
-# Items to export into callers namespace by default. Note: do not export
-# names by default without a very good reason. Use EXPORT_OK instead.
-# Do not simply export all your public functions/methods/constants.
-@EXPORT = qw(
- BZ_RUN
- BZ_FLUSH
- BZ_FINISH
-
- BZ_OK
- BZ_RUN_OK
- BZ_FLUSH_OK
- BZ_FINISH_OK
- BZ_STREAM_END
- BZ_SEQUENCE_ERROR
- BZ_PARAM_ERROR
- BZ_MEM_ERROR
- BZ_DATA_ERROR
- BZ_DATA_ERROR_MAGIC
- BZ_IO_ERROR
- BZ_UNEXPECTED_EOF
- BZ_OUTBUFF_FULL
- BZ_CONFIG_ERROR
-
- );
-
-sub AUTOLOAD {
- my($constname);
- ($constname = $AUTOLOAD) =~ s/.*:://;
- my ($error, $val) = constant($constname);
- Carp::croak $error if $error;
- no strict 'refs';
- *{$AUTOLOAD} = sub { $val };
- goto &{$AUTOLOAD};
-
-}
-
-use constant FLAG_APPEND => 1 ;
-use constant FLAG_CRC => 2 ;
-use constant FLAG_ADLER => 4 ;
-use constant FLAG_CONSUME_INPUT => 8 ;
-
-eval {
- require XSLoader;
- XSLoader::load('Compress::Raw::Bzip2', $XS_VERSION);
- 1;
-}
-or do {
- require DynaLoader;
- local @ISA = qw(DynaLoader);
- bootstrap Compress::Raw::Bzip2 $XS_VERSION ;
-};
-
-#sub Compress::Raw::Bzip2::new
-#{
-# my $class = shift ;
-# my ($ptr, $status) = _new(@_);
-# return wantarray ? (undef, $status) : undef
-# unless $ptr ;
-# my $obj = bless [$ptr], $class ;
-# return wantarray ? ($obj, $status) : $obj;
-#}
-#
-#package Compress::Raw::Bunzip2 ;
-#
-#sub Compress::Raw::Bunzip2::new
-#{
-# my $class = shift ;
-# my ($ptr, $status) = _new(@_);
-# return wantarray ? (undef, $status) : undef
-# unless $ptr ;
-# my $obj = bless [$ptr], $class ;
-# return wantarray ? ($obj, $status) : $obj;
-#}
-
-package Compress::Raw::Bzip2;
-
-1;
-
-__END__
-
-
-=head1 NAME
-
-Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression library
-
-=head1 SYNOPSIS
-
- use Compress::Raw::Bzip2 ;
-
- my ($bz, $status) = new Compress::Raw::Bzip2 [OPTS]
- or die "Cannot create bzip2 object: $bzerno\n";
-
- $status = $bz->bzdeflate($input, $output);
- $status = $bz->bzflush($output);
- $status = $bz->bzclose($output);
-
- my ($bz, $status) = new Compress::Raw::Bunzip2 [OPTS]
- or die "Cannot create bunzip2 object: $bzerno\n";
-
- $status = $bz->bzinflate($input, $output);
-
- my $version = Compress::Raw::Bzip2::bzlibversion();
-
-=head1 DESCRIPTION
-
-C<Compress::Raw::Bzip2> provides an interface to the in-memory
-compression/uncompression functions from the bzip2 compression library.
-
-Although the primary purpose for the existence of C<Compress::Raw::Bzip2>
-is for use by the C<IO::Compress::Bzip2> and C<IO::Compress::Bunzip2>
-modules, it can be used on its own for simple compression/uncompression
-tasks.
-
-=head1 Compression
-
-=head2 ($z, $status) = new Compress::Raw::Bzip2 $appendOutput, $blockSize100k, $workfactor;
-
-Creates a new compression object.
-
-If successful, it will return the initialised compression object, C<$z>
-and a C<$status> of C<BZ_OK> in a list context. In scalar context it
-returns the deflation object, C<$z>, only.
-
-If not successful, the returned compression object, C<$z>, will be
-I<undef> and C<$status> will hold the a I<bzip2> error code.
-
-Below is a list of the valid options:
-
-=over 5
-
-=item B<$appendOutput>
-
-Controls whether the compressed data is appended to the output buffer in
-the C<bzdeflate>, C<bzflush> and C<bzclose> methods.
-
-Defaults to 1.
-
-=item B<$blockSize100k>
-
-To quote the bzip2 documentation
-
- blockSize100k specifies the block size to be used for compression. It
- should be a value between 1 and 9 inclusive, and the actual block size
- used is 100000 x this figure. 9 gives the best compression but takes
- most memory.
-
-Defaults to 1.
-
-=item B<$workfactor>
-
-To quote the bzip2 documentation
-
- This parameter controls how the compression phase behaves when
- presented with worst case, highly repetitive, input data. If
- compression runs into difficulties caused by repetitive data, the
- library switches from the standard sorting algorithm to a fallback
- algorithm. The fallback is slower than the standard algorithm by
- perhaps a factor of three, but always behaves reasonably, no matter how
- bad the input.
-
- Lower values of workFactor reduce the amount of effort the standard
- algorithm will expend before resorting to the fallback. You should set
- this parameter carefully; too low, and many inputs will be handled by
- the fallback algorithm and so compress rather slowly, too high, and
- your average-to-worst case compression times can become very large. The
- default value of 30 gives reasonable behaviour over a wide range of
- circumstances.
-
- Allowable values range from 0 to 250 inclusive. 0 is a special case,
- equivalent to using the default value of 30.
-
-Defaults to 0.
-
-=back
-
-=head2 $status = $bz->bzdeflate($input, $output);
-
-Reads the contents of C<$input>, compresses it and writes the compressed
-data to C<$output>.
-
-Returns C<BZ_RUN_OK> on success and a C<bzip2> error code on failure.
-
-If C<appendOutput> is enabled in the constructor for the bzip2 object, the
-compressed data will be appended to C<$output>. If not enabled, C<$output>
-will be truncated before the compressed data is written to it.
-
-=head2 $status = $bz->bzflush($output);
-
-Flushes any pending compressed data to C<$output>.
-
-Returns C<BZ_RUN_OK> on success and a C<bzip2> error code on failure.
-
-=head2 $status = $bz->bzclose($output);
-
-Terminates the compressed data stream and flushes any pending compressed
-data to C<$output>.
-
-Returns C<BZ_STREAM_END> on success and a C<bzip2> error code on failure.
-
-=head2 Example
-
-=head1 Uncompression
-
-=head2 ($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small;
-
-If successful, it will return the initialised uncompression object, C<$z>
-and a C<$status> of C<BZ_OK> in a list context. In scalar context it
-returns the deflation object, C<$z>, only.
-
-If not successful, the returned uncompression object, C<$z>, will be
-I<undef> and C<$status> will hold the a I<bzip2> error code.
-
-Below is a list of the valid options:
-
-=over 5
-
-=item B<$appendOutput>
-
-Controls whether the compressed data is appended to the output buffer in the
-C<bzinflate>, C<bzflush> and C<bzclose> methods.
-
-Defaults to 1.
-
-=item B<$consumeInput>
-
-=item B<$small>
-
-To quote the bzip2 documentation
-
- If small is nonzero, the library will use an alternative decompression
- algorithm which uses less memory but at the cost of decompressing more
- slowly (roughly speaking, half the speed, but the maximum memory
- requirement drops to around 2300k).
-
-Defaults to 0.
-
-=back
-
-=head2 $status = $z->bzinflate($input, $output);
-
-Uncompresses C<$input> and writes the uncompressed data to C<$output>.
-
-Returns C<BZ_OK> if the uncompression was successful, but the end of the
-compressed data stream has not been reached. Returns C<BZ_STREAM_END> on
-successful uncompression and the end of the compression stream has been
-reached.
-
-If C<consumeInput> is enabled in the constructor for the bunzip2 object,
-C<$input> will have all compressed data removed from it after
-uncompression. On C<BZ_OK> return this will mean that C<$input> will be an
-empty string; when C<BZ_STREAM_END> C<$input> will either be an empty
-string or will contain whatever data immediately followed the compressed
-data stream.
-
-If C<appendOutput> is enabled in the constructor for the bunzip2 object,
-the uncompressed data will be appended to C<$output>. If not enabled,
-C<$output> will be truncated before the uncompressed data is written to it.
-
-=head1 Constants
-
-The following bzip2 constants are exported by this module
-
- BZ_RUN
- BZ_FLUSH
- BZ_FINISH
-
- BZ_OK
- BZ_RUN_OK
- BZ_FLUSH_OK
- BZ_FINISH_OK
- BZ_STREAM_END
- BZ_SEQUENCE_ERROR
- BZ_PARAM_ERROR
- BZ_MEM_ERROR
- BZ_DATA_ERROR
- BZ_DATA_ERROR_MAGIC
- BZ_IO_ERROR
- BZ_UNEXPECTED_EOF
- BZ_OUTBUFF_FULL
- BZ_CONFIG_ERROR
-
-=head1 SEE ALSO
-
-L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
-
-L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
-L<Archive::Tar|Archive::Tar>,
-L<IO::Zlib|IO::Zlib>
-
-The primary site for the bzip2 program is F<http://www.bzip.org>.
-
-See the module L<Compress::Bzip2|Compress::Bzip2>
-
-=head1 AUTHOR
-
-This module was written by Paul Marquess, F<pmqs@cpan.org>.
-
-=head1 MODIFICATION HISTORY
-
-See the Changes file.
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (c) 2005-2008 Paul Marquess. All rights reserved.
-
-This program is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Cwd.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Cwd.pm
deleted file mode 100644
index b93c0036120..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Cwd.pm
+++ /dev/null
@@ -1,763 +0,0 @@
-package Cwd;
-
-=head1 NAME
-
-Cwd - get pathname of current working directory
-
-=head1 SYNOPSIS
-
- use Cwd;
- my $dir = getcwd;
-
- use Cwd 'abs_path';
- my $abs_path = abs_path($file);
-
-=head1 DESCRIPTION
-
-This module provides functions for determining the pathname of the
-current working directory. It is recommended that getcwd (or another
-*cwd() function) be used in I<all> code to ensure portability.
-
-By default, it exports the functions cwd(), getcwd(), fastcwd(), and
-fastgetcwd() (and, on Win32, getdcwd()) into the caller's namespace.
-
-
-=head2 getcwd and friends
-
-Each of these functions are called without arguments and return the
-absolute path of the current working directory.
-
-=over 4
-
-=item getcwd
-
- my $cwd = getcwd();
-
-Returns the current working directory.
-
-Exposes the POSIX function getcwd(3) or re-implements it if it's not
-available.
-
-=item cwd
-
- my $cwd = cwd();
-
-The cwd() is the most natural form for the current architecture. For
-most systems it is identical to `pwd` (but without the trailing line
-terminator).
-
-=item fastcwd
-
- my $cwd = fastcwd();
-
-A more dangerous version of getcwd(), but potentially faster.
-
-It might conceivably chdir() you out of a directory that it can't
-chdir() you back into. If fastcwd encounters a problem it will return
-undef but will probably leave you in a different directory. For a
-measure of extra security, if everything appears to have worked, the
-fastcwd() function will check that it leaves you in the same directory
-that it started in. If it has changed it will C<die> with the message
-"Unstable directory path, current directory changed
-unexpectedly". That should never happen.
-
-=item fastgetcwd
-
- my $cwd = fastgetcwd();
-
-The fastgetcwd() function is provided as a synonym for cwd().
-
-=item getdcwd
-
- my $cwd = getdcwd();
- my $cwd = getdcwd('C:');
-
-The getdcwd() function is also provided on Win32 to get the current working
-directory on the specified drive, since Windows maintains a separate current
-working directory for each drive. If no drive is specified then the current
-drive is assumed.
-
-This function simply calls the Microsoft C library _getdcwd() function.
-
-=back
-
-
-=head2 abs_path and friends
-
-These functions are exported only on request. They each take a single
-argument and return the absolute pathname for it. If no argument is
-given they'll use the current working directory.
-
-=over 4
-
-=item abs_path
-
- my $abs_path = abs_path($file);
-
-Uses the same algorithm as getcwd(). Symbolic links and relative-path
-components ("." and "..") are resolved to return the canonical
-pathname, just like realpath(3).
-
-=item realpath
-
- my $abs_path = realpath($file);
-
-A synonym for abs_path().
-
-=item fast_abs_path
-
- my $abs_path = fast_abs_path($file);
-
-A more dangerous, but potentially faster version of abs_path.
-
-=back
-
-=head2 $ENV{PWD}
-
-If you ask to override your chdir() built-in function,
-
- use Cwd qw(chdir);
-
-then your PWD environment variable will be kept up to date. Note that
-it will only be kept up to date if all packages which use chdir import
-it from Cwd.
-
-
-=head1 NOTES
-
-=over 4
-
-=item *
-
-Since the path seperators are different on some operating systems ('/'
-on Unix, ':' on MacPerl, etc...) we recommend you use the File::Spec
-modules wherever portability is a concern.
-
-=item *
-
-Actually, on Mac OS, the C<getcwd()>, C<fastgetcwd()> and C<fastcwd()>
-functions are all aliases for the C<cwd()> function, which, on Mac OS,
-calls `pwd`. Likewise, the C<abs_path()> function is an alias for
-C<fast_abs_path()>.
-
-=back
-
-=head1 AUTHOR
-
-Originally by the perl5-porters.
-
-Maintained by Ken Williams <KWILLIAMS@cpan.org>
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-Portions of the C code in this library are copyright (c) 1994 by the
-Regents of the University of California. All rights reserved. The
-license on this code is compatible with the licensing of the rest of
-the distribution - please see the source code in F<Cwd.xs> for the
-details.
-
-=head1 SEE ALSO
-
-L<File::chdir>
-
-=cut
-
-use strict;
-use Exporter;
-use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
-
-$VERSION = '3.2701';
-
-@ISA = qw/ Exporter /;
-@EXPORT = qw(cwd getcwd fastcwd fastgetcwd);
-push @EXPORT, qw(getdcwd) if $^O eq 'MSWin32';
-@EXPORT_OK = qw(chdir abs_path fast_abs_path realpath fast_realpath);
-
-# sys_cwd may keep the builtin command
-
-# All the functionality of this module may provided by builtins,
-# there is no sense to process the rest of the file.
-# The best choice may be to have this in BEGIN, but how to return from BEGIN?
-
-if ($^O eq 'os2') {
- local $^W = 0;
-
- *cwd = defined &sys_cwd ? \&sys_cwd : \&_os2_cwd;
- *getcwd = \&cwd;
- *fastgetcwd = \&cwd;
- *fastcwd = \&cwd;
-
- *fast_abs_path = \&sys_abspath if defined &sys_abspath;
- *abs_path = \&fast_abs_path;
- *realpath = \&fast_abs_path;
- *fast_realpath = \&fast_abs_path;
-
- return 1;
-}
-
-# If loading the XS stuff doesn't work, we can fall back to pure perl
-eval {
- if ( $] >= 5.006 ) {
- require XSLoader;
- XSLoader::load( __PACKAGE__, $VERSION );
- } else {
- require DynaLoader;
- push @ISA, 'DynaLoader';
- __PACKAGE__->bootstrap( $VERSION );
- }
-};
-
-# Must be after the DynaLoader stuff:
-$VERSION = eval $VERSION;
-
-# Big nasty table of function aliases
-my %METHOD_MAP =
- (
- VMS =>
- {
- cwd => '_vms_cwd',
- getcwd => '_vms_cwd',
- fastcwd => '_vms_cwd',
- fastgetcwd => '_vms_cwd',
- abs_path => '_vms_abs_path',
- fast_abs_path => '_vms_abs_path',
- },
-
- MSWin32 =>
- {
- # We assume that &_NT_cwd is defined as an XSUB or in the core.
- cwd => '_NT_cwd',
- getcwd => '_NT_cwd',
- fastcwd => '_NT_cwd',
- fastgetcwd => '_NT_cwd',
- abs_path => 'fast_abs_path',
- realpath => 'fast_abs_path',
- },
-
- dos =>
- {
- cwd => '_dos_cwd',
- getcwd => '_dos_cwd',
- fastgetcwd => '_dos_cwd',
- fastcwd => '_dos_cwd',
- abs_path => 'fast_abs_path',
- },
-
- qnx =>
- {
- cwd => '_qnx_cwd',
- getcwd => '_qnx_cwd',
- fastgetcwd => '_qnx_cwd',
- fastcwd => '_qnx_cwd',
- abs_path => '_qnx_abs_path',
- fast_abs_path => '_qnx_abs_path',
- },
-
- cygwin =>
- {
- getcwd => 'cwd',
- fastgetcwd => 'cwd',
- fastcwd => 'cwd',
- abs_path => 'fast_abs_path',
- realpath => 'fast_abs_path',
- },
-
- epoc =>
- {
- cwd => '_epoc_cwd',
- getcwd => '_epoc_cwd',
- fastgetcwd => '_epoc_cwd',
- fastcwd => '_epoc_cwd',
- abs_path => 'fast_abs_path',
- },
-
- MacOS =>
- {
- getcwd => 'cwd',
- fastgetcwd => 'cwd',
- fastcwd => 'cwd',
- abs_path => 'fast_abs_path',
- },
- );
-
-$METHOD_MAP{NT} = $METHOD_MAP{MSWin32};
-$METHOD_MAP{nto} = $METHOD_MAP{qnx};
-
-
-# Find the pwd command in the expected locations. We assume these
-# are safe. This prevents _backtick_pwd() consulting $ENV{PATH}
-# so everything works under taint mode.
-my $pwd_cmd;
-foreach my $try ('/bin/pwd',
- '/usr/bin/pwd',
- '/QOpenSys/bin/pwd', # OS/400 PASE.
- ) {
-
- if( -x $try ) {
- $pwd_cmd = $try;
- last;
- }
-}
-my $found_pwd_cmd = defined($pwd_cmd);
-unless ($pwd_cmd) {
- # Isn't this wrong? _backtick_pwd() will fail if somenone has
- # pwd in their path but it is not /bin/pwd or /usr/bin/pwd?
- # See [perl #16774]. --jhi
- $pwd_cmd = 'pwd';
-}
-
-# Lazy-load Carp
-sub _carp { require Carp; Carp::carp(@_) }
-sub _croak { require Carp; Carp::croak(@_) }
-
-# The 'natural and safe form' for UNIX (pwd may be setuid root)
-sub _backtick_pwd {
- # Localize %ENV entries in a way that won't create new hash keys
- my @localize = grep exists $ENV{$_}, qw(PATH IFS CDPATH ENV BASH_ENV);
- local @ENV{@localize};
-
- my $cwd = `$pwd_cmd`;
- # Belt-and-suspenders in case someone said "undef $/".
- local $/ = "\n";
- # `pwd` may fail e.g. if the disk is full
- chomp($cwd) if defined $cwd;
- $cwd;
-}
-
-# Since some ports may predefine cwd internally (e.g., NT)
-# we take care not to override an existing definition for cwd().
-
-unless ($METHOD_MAP{$^O}{cwd} or defined &cwd) {
- # The pwd command is not available in some chroot(2)'ed environments
- my $sep = $Config::Config{path_sep} || ':';
- my $os = $^O; # Protect $^O from tainting
-
-
- # Try again to find a pwd, this time searching the whole PATH.
- if (defined $ENV{PATH} and $os ne 'MSWin32') { # no pwd on Windows
- my @candidates = split($sep, $ENV{PATH});
- while (!$found_pwd_cmd and @candidates) {
- my $candidate = shift @candidates;
- $found_pwd_cmd = 1 if -x "$candidate/pwd";
- }
- }
-
- # MacOS has some special magic to make `pwd` work.
- if( $os eq 'MacOS' || $found_pwd_cmd )
- {
- *cwd = \&_backtick_pwd;
- }
- else {
- *cwd = \&getcwd;
- }
-}
-
-if ($^O eq 'cygwin') {
- # We need to make sure cwd() is called with no args, because it's
- # got an arg-less prototype and will die if args are present.
- local $^W = 0;
- my $orig_cwd = \&cwd;
- *cwd = sub { &$orig_cwd() }
-}
-
-
-# set a reasonable (and very safe) default for fastgetcwd, in case it
-# isn't redefined later (20001212 rspier)
-*fastgetcwd = \&cwd;
-
-# A non-XS version of getcwd() - also used to bootstrap the perl build
-# process, when miniperl is running and no XS loading happens.
-sub _perl_getcwd
-{
- abs_path('.');
-}
-
-# By John Bazik
-#
-# Usage: $cwd = &fastcwd;
-#
-# This is a faster version of getcwd. It's also more dangerous because
-# you might chdir out of a directory that you can't chdir back into.
-
-sub fastcwd_ {
- my($odev, $oino, $cdev, $cino, $tdev, $tino);
- my(@path, $path);
- local(*DIR);
-
- my($orig_cdev, $orig_cino) = stat('.');
- ($cdev, $cino) = ($orig_cdev, $orig_cino);
- for (;;) {
- my $direntry;
- ($odev, $oino) = ($cdev, $cino);
- CORE::chdir('..') || return undef;
- ($cdev, $cino) = stat('.');
- last if $odev == $cdev && $oino == $cino;
- opendir(DIR, '.') || return undef;
- for (;;) {
- $direntry = readdir(DIR);
- last unless defined $direntry;
- next if $direntry eq '.';
- next if $direntry eq '..';
-
- ($tdev, $tino) = lstat($direntry);
- last unless $tdev != $odev || $tino != $oino;
- }
- closedir(DIR);
- return undef unless defined $direntry; # should never happen
- unshift(@path, $direntry);
- }
- $path = '/' . join('/', @path);
- if ($^O eq 'apollo') { $path = "/".$path; }
- # At this point $path may be tainted (if tainting) and chdir would fail.
- # Untaint it then check that we landed where we started.
- $path =~ /^(.*)\z/s # untaint
- && CORE::chdir($1) or return undef;
- ($cdev, $cino) = stat('.');
- die "Unstable directory path, current directory changed unexpectedly"
- if $cdev != $orig_cdev || $cino != $orig_cino;
- $path;
-}
-if (not defined &fastcwd) { *fastcwd = \&fastcwd_ }
-
-
-# Keeps track of current working directory in PWD environment var
-# Usage:
-# use Cwd 'chdir';
-# chdir $newdir;
-
-my $chdir_init = 0;
-
-sub chdir_init {
- if ($ENV{'PWD'} and $^O ne 'os2' and $^O ne 'dos' and $^O ne 'MSWin32') {
- my($dd,$di) = stat('.');
- my($pd,$pi) = stat($ENV{'PWD'});
- if (!defined $dd or !defined $pd or $di != $pi or $dd != $pd) {
- $ENV{'PWD'} = cwd();
- }
- }
- else {
- my $wd = cwd();
- $wd = Win32::GetFullPathName($wd) if $^O eq 'MSWin32';
- $ENV{'PWD'} = $wd;
- }
- # Strip an automounter prefix (where /tmp_mnt/foo/bar == /foo/bar)
- if ($^O ne 'MSWin32' and $ENV{'PWD'} =~ m|(/[^/]+(/[^/]+/[^/]+))(.*)|s) {
- my($pd,$pi) = stat($2);
- my($dd,$di) = stat($1);
- if (defined $pd and defined $dd and $di == $pi and $dd == $pd) {
- $ENV{'PWD'}="$2$3";
- }
- }
- $chdir_init = 1;
-}
-
-sub chdir {
- my $newdir = @_ ? shift : ''; # allow for no arg (chdir to HOME dir)
- $newdir =~ s|///*|/|g unless $^O eq 'MSWin32';
- chdir_init() unless $chdir_init;
- my $newpwd;
- if ($^O eq 'MSWin32') {
- # get the full path name *before* the chdir()
- $newpwd = Win32::GetFullPathName($newdir);
- }
-
- return 0 unless CORE::chdir $newdir;
-
- if ($^O eq 'VMS') {
- return $ENV{'PWD'} = $ENV{'DEFAULT'}
- }
- elsif ($^O eq 'MacOS') {
- return $ENV{'PWD'} = cwd();
- }
- elsif ($^O eq 'MSWin32') {
- $ENV{'PWD'} = $newpwd;
- return 1;
- }
-
- if (ref $newdir eq 'GLOB') { # in case a file/dir handle is passed in
- $ENV{'PWD'} = cwd();
- } elsif ($newdir =~ m#^/#s) {
- $ENV{'PWD'} = $newdir;
- } else {
- my @curdir = split(m#/#,$ENV{'PWD'});
- @curdir = ('') unless @curdir;
- my $component;
- foreach $component (split(m#/#, $newdir)) {
- next if $component eq '.';
- pop(@curdir),next if $component eq '..';
- push(@curdir,$component);
- }
- $ENV{'PWD'} = join('/',@curdir) || '/';
- }
- 1;
-}
-
-
-sub _perl_abs_path
-{
- my $start = @_ ? shift : '.';
- my($dotdots, $cwd, @pst, @cst, $dir, @tst);
-
- unless (@cst = stat( $start ))
- {
- _carp("stat($start): $!");
- return '';
- }
-
- unless (-d _) {
- # Make sure we can be invoked on plain files, not just directories.
- # NOTE that this routine assumes that '/' is the only directory separator.
-
- my ($dir, $file) = $start =~ m{^(.*)/(.+)$}
- or return cwd() . '/' . $start;
-
- # Can't use "-l _" here, because the previous stat was a stat(), not an lstat().
- if (-l $start) {
- my $link_target = readlink($start);
- die "Can't resolve link $start: $!" unless defined $link_target;
-
- require File::Spec;
- $link_target = $dir . '/' . $link_target
- unless File::Spec->file_name_is_absolute($link_target);
-
- return abs_path($link_target);
- }
-
- return $dir ? abs_path($dir) . "/$file" : "/$file";
- }
-
- $cwd = '';
- $dotdots = $start;
- do
- {
- $dotdots .= '/..';
- @pst = @cst;
- local *PARENT;
- unless (opendir(PARENT, $dotdots))
- {
- # probably a permissions issue. Try the native command.
- return File::Spec->rel2abs( $start, _backtick_pwd() );
- }
- unless (@cst = stat($dotdots))
- {
- _carp("stat($dotdots): $!");
- closedir(PARENT);
- return '';
- }
- if ($pst[0] == $cst[0] && $pst[1] == $cst[1])
- {
- $dir = undef;
- }
- else
- {
- do
- {
- unless (defined ($dir = readdir(PARENT)))
- {
- _carp("readdir($dotdots): $!");
- closedir(PARENT);
- return '';
- }
- $tst[0] = $pst[0]+1 unless (@tst = lstat("$dotdots/$dir"))
- }
- while ($dir eq '.' || $dir eq '..' || $tst[0] != $pst[0] ||
- $tst[1] != $pst[1]);
- }
- $cwd = (defined $dir ? "$dir" : "" ) . "/$cwd" ;
- closedir(PARENT);
- } while (defined $dir);
- chop($cwd) unless $cwd eq '/'; # drop the trailing /
- $cwd;
-}
-
-
-my $Curdir;
-sub fast_abs_path {
- local $ENV{PWD} = $ENV{PWD} || ''; # Guard against clobberage
- my $cwd = getcwd();
- require File::Spec;
- my $path = @_ ? shift : ($Curdir ||= File::Spec->curdir);
-
- # Detaint else we'll explode in taint mode. This is safe because
- # we're not doing anything dangerous with it.
- ($path) = $path =~ /(.*)/;
- ($cwd) = $cwd =~ /(.*)/;
-
- unless (-e $path) {
- _croak("$path: No such file or directory");
- }
-
- unless (-d _) {
- # Make sure we can be invoked on plain files, not just directories.
-
- my ($vol, $dir, $file) = File::Spec->splitpath($path);
- return File::Spec->catfile($cwd, $path) unless length $dir;
-
- if (-l $path) {
- my $link_target = readlink($path);
- die "Can't resolve link $path: $!" unless defined $link_target;
-
- $link_target = File::Spec->catpath($vol, $dir, $link_target)
- unless File::Spec->file_name_is_absolute($link_target);
-
- return fast_abs_path($link_target);
- }
-
- return $dir eq File::Spec->rootdir
- ? File::Spec->catpath($vol, $dir, $file)
- : fast_abs_path(File::Spec->catpath($vol, $dir, '')) . '/' . $file;
- }
-
- if (!CORE::chdir($path)) {
- _croak("Cannot chdir to $path: $!");
- }
- my $realpath = getcwd();
- if (! ((-d $cwd) && (CORE::chdir($cwd)))) {
- _croak("Cannot chdir back to $cwd: $!");
- }
- $realpath;
-}
-
-# added function alias to follow principle of least surprise
-# based on previous aliasing. --tchrist 27-Jan-00
-*fast_realpath = \&fast_abs_path;
-
-
-# --- PORTING SECTION ---
-
-# VMS: $ENV{'DEFAULT'} points to default directory at all times
-# 06-Mar-1996 Charles Bailey bailey@newman.upenn.edu
-# Note: Use of Cwd::chdir() causes the logical name PWD to be defined
-# in the process logical name table as the default device and directory
-# seen by Perl. This may not be the same as the default device
-# and directory seen by DCL after Perl exits, since the effects
-# the CRTL chdir() function persist only until Perl exits.
-
-sub _vms_cwd {
- return $ENV{'DEFAULT'};
-}
-
-sub _vms_abs_path {
- return $ENV{'DEFAULT'} unless @_;
- my $path = shift;
-
- if (-l $path) {
- my $link_target = readlink($path);
- die "Can't resolve link $path: $!" unless defined $link_target;
-
- return _vms_abs_path($link_target);
- }
-
- if (defined &VMS::Filespec::vms_realpath) {
- my $path = $_[0];
- if ($path =~ m#(?<=\^)/# ) {
- # Unix format
- return VMS::Filespec::vms_realpath($path);
- }
-
- # VMS format
-
- my $new_path = VMS::Filespec::vms_realname($path);
-
- # Perl expects directories to be in directory format
- $new_path = VMS::Filespec::pathify($new_path) if -d $path;
- return $new_path;
- }
-
- # Fallback to older algorithm if correct ones are not
- # available.
-
- # may need to turn foo.dir into [.foo]
- my $pathified = VMS::Filespec::pathify($path);
- $path = $pathified if defined $pathified;
-
- return VMS::Filespec::rmsexpand($path);
-}
-
-sub _os2_cwd {
- $ENV{'PWD'} = `cmd /c cd`;
- chomp $ENV{'PWD'};
- $ENV{'PWD'} =~ s:\\:/:g ;
- return $ENV{'PWD'};
-}
-
-sub _win32_cwd {
- if (defined &DynaLoader::boot_DynaLoader) {
- $ENV{'PWD'} = Win32::GetCwd();
- }
- else { # miniperl
- chomp($ENV{'PWD'} = `cd`);
- }
- $ENV{'PWD'} =~ s:\\:/:g ;
- return $ENV{'PWD'};
-}
-
-*_NT_cwd = defined &Win32::GetCwd ? \&_win32_cwd : \&_os2_cwd;
-
-sub _dos_cwd {
- if (!defined &Dos::GetCwd) {
- $ENV{'PWD'} = `command /c cd`;
- chomp $ENV{'PWD'};
- $ENV{'PWD'} =~ s:\\:/:g ;
- } else {
- $ENV{'PWD'} = Dos::GetCwd();
- }
- return $ENV{'PWD'};
-}
-
-sub _qnx_cwd {
- local $ENV{PATH} = '';
- local $ENV{CDPATH} = '';
- local $ENV{ENV} = '';
- $ENV{'PWD'} = `/usr/bin/fullpath -t`;
- chomp $ENV{'PWD'};
- return $ENV{'PWD'};
-}
-
-sub _qnx_abs_path {
- local $ENV{PATH} = '';
- local $ENV{CDPATH} = '';
- local $ENV{ENV} = '';
- my $path = @_ ? shift : '.';
- local *REALPATH;
-
- defined( open(REALPATH, '-|') || exec '/usr/bin/fullpath', '-t', $path ) or
- die "Can't open /usr/bin/fullpath: $!";
- my $realpath = <REALPATH>;
- close REALPATH;
- chomp $realpath;
- return $realpath;
-}
-
-sub _epoc_cwd {
- $ENV{'PWD'} = EPOC::getcwd();
- return $ENV{'PWD'};
-}
-
-
-# Now that all the base-level functions are set up, alias the
-# user-level functions to the right places
-
-if (exists $METHOD_MAP{$^O}) {
- my $map = $METHOD_MAP{$^O};
- foreach my $name (keys %$map) {
- local $^W = 0; # assignments trigger 'subroutine redefined' warning
- no strict 'refs';
- *{$name} = \&{$map->{$name}};
- }
-}
-
-# In case the XS version doesn't load.
-*abs_path = \&_perl_abs_path unless defined &abs_path;
-*getcwd = \&_perl_getcwd unless defined &getcwd;
-
-# added function alias for those of us more
-# used to the libc function. --tchrist 27-Jan-00
-*realpath = \&abs_path;
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Digest/SHA.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Digest/SHA.pm
deleted file mode 100644
index d57c16fce59..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Digest/SHA.pm
+++ /dev/null
@@ -1,669 +0,0 @@
-package Digest::SHA;
-
-require 5.003000;
-
-use strict;
-use integer;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-
-$VERSION = '5.47';
-
-require Exporter;
-require DynaLoader;
-@ISA = qw(Exporter DynaLoader);
-@EXPORT_OK = qw(
- hmac_sha1 hmac_sha1_base64 hmac_sha1_hex
- hmac_sha224 hmac_sha224_base64 hmac_sha224_hex
- hmac_sha256 hmac_sha256_base64 hmac_sha256_hex
- hmac_sha384 hmac_sha384_base64 hmac_sha384_hex
- hmac_sha512 hmac_sha512_base64 hmac_sha512_hex
- sha1 sha1_base64 sha1_hex
- sha224 sha224_base64 sha224_hex
- sha256 sha256_base64 sha256_hex
- sha384 sha384_base64 sha384_hex
- sha512 sha512_base64 sha512_hex);
-
-# If possible, inherit from Digest::base (which depends on MIME::Base64)
-
-*addfile = \&Addfile;
-
-eval {
- require MIME::Base64;
- require Digest::base;
- push(@ISA, 'Digest::base');
-};
-if ($@) {
- *hexdigest = \&Hexdigest;
- *b64digest = \&B64digest;
-}
-
-# The following routines aren't time-critical, so they can be left in Perl
-
-sub new {
- my($class, $alg) = @_;
- $alg =~ s/\D+//g if defined $alg;
- if (ref($class)) { # instance method
- unless (defined($alg) && ($alg != $class->algorithm)) {
- sharewind($$class);
- return($class);
- }
- shaclose($$class) if $$class;
- $$class = shaopen($alg) || return;
- return($class);
- }
- $alg = 1 unless defined $alg;
- my $state = shaopen($alg) || return;
- my $self = \$state;
- bless($self, $class);
- return($self);
-}
-
-sub DESTROY {
- my $self = shift;
- shaclose($$self) if $$self;
-}
-
-sub clone {
- my $self = shift;
- my $state = shadup($$self) || return;
- my $copy = \$state;
- bless($copy, ref($self));
- return($copy);
-}
-
-*reset = \&new;
-
-sub add_bits {
- my($self, $data, $nbits) = @_;
- unless (defined $nbits) {
- $nbits = length($data);
- $data = pack("B*", $data);
- }
- shawrite($data, $nbits, $$self);
- return($self);
-}
-
-sub _bail {
- my $msg = shift;
-
- require Carp;
- Carp::croak("$msg: $!");
-}
-
-sub _addfile { # this is "addfile" from Digest::base 1.00
- my ($self, $handle) = @_;
-
- my $n;
- my $buf = "";
-
- while (($n = read($handle, $buf, 4096))) {
- $self->add($buf);
- }
- _bail("Read failed") unless defined $n;
-
- $self;
-}
-
-sub Addfile {
- my ($self, $file, $mode) = @_;
-
- return(_addfile($self, $file)) unless ref(\$file) eq 'SCALAR';
-
- $mode = defined($mode) ? $mode : "";
- my ($binary, $portable) = map { $_ eq $mode } ("b", "p");
- my $text = -T $file;
-
- local *FH;
- # protect any leading or trailing whitespace in $file;
- # otherwise, 2-arg "open" will ignore them
- $file =~ s#^(\s)#./$1#;
- open(FH, "< $file\0") or _bail("Open failed");
- binmode(FH) if $binary || $portable;
-
- unless ($portable && $text) {
- $self->_addfile(*FH);
- close(FH);
- return($self);
- }
-
- my ($n1, $n2);
- my ($buf1, $buf2) = ("", "");
-
- while (($n1 = read(FH, $buf1, 4096))) {
- while (substr($buf1, -1) eq "\015") {
- $n2 = read(FH, $buf2, 4096);
- _bail("Read failed") unless defined $n2;
- last unless $n2;
- $buf1 .= $buf2;
- }
- $buf1 =~ s/\015?\015\012/\012/g; # DOS/Windows
- $buf1 =~ s/\015/\012/g; # early MacOS
- $self->add($buf1);
- }
- _bail("Read failed") unless defined $n1;
- close(FH);
-
- $self;
-}
-
-sub dump {
- my $self = shift;
- my $file = shift || "";
-
- shadump($file, $$self) || return;
- return($self);
-}
-
-sub load {
- my $class = shift;
- my $file = shift || "";
- if (ref($class)) { # instance method
- shaclose($$class) if $$class;
- $$class = shaload($file) || return;
- return($class);
- }
- my $state = shaload($file) || return;
- my $self = \$state;
- bless($self, $class);
- return($self);
-}
-
-Digest::SHA->bootstrap($VERSION);
-
-1;
-__END__
-
-=head1 NAME
-
-Digest::SHA - Perl extension for SHA-1/224/256/384/512
-
-=head1 SYNOPSIS
-
-In programs:
-
- # Functional interface
-
- use Digest::SHA qw(sha1 sha1_hex sha1_base64 ...);
-
- $digest = sha1($data);
- $digest = sha1_hex($data);
- $digest = sha1_base64($data);
-
- $digest = sha256($data);
- $digest = sha384_hex($data);
- $digest = sha512_base64($data);
-
- # Object-oriented
-
- use Digest::SHA;
-
- $sha = Digest::SHA->new($alg);
-
- $sha->add($data); # feed data into stream
-
- $sha->addfile(*F);
- $sha->addfile($filename);
-
- $sha->add_bits($bits);
- $sha->add_bits($data, $nbits);
-
- $sha_copy = $sha->clone; # if needed, make copy of
- $sha->dump($file); # current digest state,
- $sha->load($file); # or save it on disk
-
- $digest = $sha->digest; # compute digest
- $digest = $sha->hexdigest;
- $digest = $sha->b64digest;
-
-From the command line:
-
- $ shasum files
-
- $ shasum --help
-
-=head1 SYNOPSIS (HMAC-SHA)
-
- # Functional interface only
-
- use Digest::SHA qw(hmac_sha1 hmac_sha1_hex ...);
-
- $digest = hmac_sha1($data, $key);
- $digest = hmac_sha224_hex($data, $key);
- $digest = hmac_sha256_base64($data, $key);
-
-=head1 ABSTRACT
-
-Digest::SHA is a complete implementation of the NIST Secure Hash
-Standard. It gives Perl programmers a convenient way to calculate
-SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512 message digests.
-The module can handle all types of input, including partial-byte
-data.
-
-=head1 DESCRIPTION
-
-Digest::SHA is written in C for speed. If your platform lacks a
-C compiler, you can install the functionally equivalent (but much
-slower) L<Digest::SHA::PurePerl> module.
-
-The programming interface is easy to use: it's the same one found
-in CPAN's L<Digest> module. So, if your applications currently
-use L<Digest::MD5> and you'd prefer the stronger security of SHA,
-it's a simple matter to convert them.
-
-The interface provides two ways to calculate digests: all-at-once,
-or in stages. To illustrate, the following short program computes
-the SHA-256 digest of "hello world" using each approach:
-
- use Digest::SHA qw(sha256_hex);
-
- $data = "hello world";
- @frags = split(//, $data);
-
- # all-at-once (Functional style)
- $digest1 = sha256_hex($data);
-
- # in-stages (OOP style)
- $state = Digest::SHA->new(256);
- for (@frags) { $state->add($_) }
- $digest2 = $state->hexdigest;
-
- print $digest1 eq $digest2 ?
- "whew!\n" : "oops!\n";
-
-To calculate the digest of an n-bit message where I<n> is not a
-multiple of 8, use the I<add_bits()> method. For example, consider
-the 446-bit message consisting of the bit-string "110" repeated
-148 times, followed by "11". Here's how to display its SHA-1
-digest:
-
- use Digest::SHA;
- $bits = "110" x 148 . "11";
- $sha = Digest::SHA->new(1)->add_bits($bits);
- print $sha->hexdigest, "\n";
-
-Note that for larger bit-strings, it's more efficient to use the
-two-argument version I<add_bits($data, $nbits)>, where I<$data> is
-in the customary packed binary format used for Perl strings.
-
-The module also lets you save intermediate SHA states to disk, or
-display them on standard output. The I<dump()> method generates
-portable, human-readable text describing the current state of
-computation. You can subsequently retrieve the file with I<load()>
-to resume where the calculation left off.
-
-To see what a state description looks like, just run the following:
-
- use Digest::SHA;
- Digest::SHA->new->add("Shaw" x 1962)->dump;
-
-As an added convenience, the Digest::SHA module offers routines to
-calculate keyed hashes using the HMAC-SHA-1/224/256/384/512
-algorithms. These services exist in functional form only, and
-mimic the style and behavior of the I<sha()>, I<sha_hex()>, and
-I<sha_base64()> functions.
-
- # Test vector from draft-ietf-ipsec-ciph-sha-256-01.txt
-
- use Digest::SHA qw(hmac_sha256_hex);
- print hmac_sha256_hex("Hi There", chr(0x0b) x 32), "\n";
-
-=head1 NIST STATEMENT ON SHA-1
-
-I<NIST was recently informed that researchers had discovered a way
-to "break" the current Federal Information Processing Standard SHA-1
-algorithm, which has been in effect since 1994. The researchers
-have not yet published their complete results, so NIST has not
-confirmed these findings. However, the researchers are a reputable
-research team with expertise in this area.>
-
-I<Due to advances in computing power, NIST already planned to phase
-out SHA-1 in favor of the larger and stronger hash functions (SHA-224,
-SHA-256, SHA-384 and SHA-512) by 2010. New developments should use
-the larger and stronger hash functions.>
-
-ref. L<http://www.csrc.nist.gov/pki/HashWorkshop/NIST%20Statement/Burr_Mar2005.html>
-
-=head1 PADDING OF BASE64 DIGESTS
-
-By convention, CPAN Digest modules do B<not> pad their Base64 output.
-Problems can occur when feeding such digests to other software that
-expects properly padded Base64 encodings.
-
-For the time being, any necessary padding must be done by the user.
-Fortunately, this is a simple operation: if the length of a Base64-encoded
-digest isn't a multiple of 4, simply append "=" characters to the end
-of the digest until it is:
-
- while (length($b64_digest) % 4) {
- $b64_digest .= '=';
- }
-
-To illustrate, I<sha256_base64("abc")> is computed to be
-
- ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0
-
-which has a length of 43. So, the properly padded version is
-
- ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=
-
-=head1 EXPORT
-
-None by default.
-
-=head1 EXPORTABLE FUNCTIONS
-
-Provided your C compiler supports a 64-bit type (e.g. the I<long
-long> of C99, or I<__int64> used by Microsoft C/C++), all of these
-functions will be available for use. Otherwise, you won't be able
-to perform the SHA-384 and SHA-512 transforms, both of which require
-64-bit operations.
-
-I<Functional style>
-
-=over 4
-
-=item B<sha1($data, ...)>
-
-=item B<sha224($data, ...)>
-
-=item B<sha256($data, ...)>
-
-=item B<sha384($data, ...)>
-
-=item B<sha512($data, ...)>
-
-Logically joins the arguments into a single string, and returns
-its SHA-1/224/256/384/512 digest encoded as a binary string.
-
-=item B<sha1_hex($data, ...)>
-
-=item B<sha224_hex($data, ...)>
-
-=item B<sha256_hex($data, ...)>
-
-=item B<sha384_hex($data, ...)>
-
-=item B<sha512_hex($data, ...)>
-
-Logically joins the arguments into a single string, and returns
-its SHA-1/224/256/384/512 digest encoded as a hexadecimal string.
-
-=item B<sha1_base64($data, ...)>
-
-=item B<sha224_base64($data, ...)>
-
-=item B<sha256_base64($data, ...)>
-
-=item B<sha384_base64($data, ...)>
-
-=item B<sha512_base64($data, ...)>
-
-Logically joins the arguments into a single string, and returns
-its SHA-1/224/256/384/512 digest encoded as a Base64 string.
-
-It's important to note that the resulting string does B<not> contain
-the padding characters typical of Base64 encodings. This omission is
-deliberate, and is done to maintain compatibility with the family of
-CPAN Digest modules. See L</"PADDING OF BASE64 DIGESTS"> for details.
-
-=back
-
-I<OOP style>
-
-=over 4
-
-=item B<new($alg)>
-
-Returns a new Digest::SHA object. Allowed values for I<$alg> are
-1, 224, 256, 384, or 512. It's also possible to use common string
-representations of the algorithm (e.g. "sha256", "SHA-384"). If
-the argument is missing, SHA-1 will be used by default.
-
-Invoking I<new> as an instance method will not create a new object;
-instead, it will simply reset the object to the initial state
-associated with I<$alg>. If the argument is missing, the object
-will continue using the same algorithm that was selected at creation.
-
-=item B<reset($alg)>
-
-This method has exactly the same effect as I<new($alg)>. In fact,
-I<reset> is just an alias for I<new>.
-
-=item B<hashsize>
-
-Returns the number of digest bits for this object. The values are
-160, 224, 256, 384, and 512 for SHA-1, SHA-224, SHA-256, SHA-384,
-and SHA-512, respectively.
-
-=item B<algorithm>
-
-Returns the digest algorithm for this object. The values are 1,
-224, 256, 384, and 512 for SHA-1, SHA-224, SHA-256, SHA-384, and
-SHA-512, respectively.
-
-=item B<clone>
-
-Returns a duplicate copy of the object.
-
-=item B<add($data, ...)>
-
-Logically joins the arguments into a single string, and uses it to
-update the current digest state. In other words, the following
-statements have the same effect:
-
- $sha->add("a"); $sha->add("b"); $sha->add("c");
- $sha->add("a")->add("b")->add("c");
- $sha->add("a", "b", "c");
- $sha->add("abc");
-
-The return value is the updated object itself.
-
-=item B<add_bits($data, $nbits)>
-
-=item B<add_bits($bits)>
-
-Updates the current digest state by appending bits to it. The
-return value is the updated object itself.
-
-The first form causes the most-significant I<$nbits> of I<$data>
-to be appended to the stream. The I<$data> argument is in the
-customary binary format used for Perl strings.
-
-The second form takes an ASCII string of "0" and "1" characters as
-its argument. It's equivalent to
-
- $sha->add_bits(pack("B*", $bits), length($bits));
-
-So, the following two statements do the same thing:
-
- $sha->add_bits("111100001010");
- $sha->add_bits("\xF0\xA0", 12);
-
-=item B<addfile(*FILE)>
-
-Reads from I<FILE> until EOF, and appends that data to the current
-state. The return value is the updated object itself.
-
-=item B<addfile($filename [, $mode])>
-
-Reads the contents of I<$filename>, and appends that data to the current
-state. The return value is the updated object itself.
-
-By default, I<$filename> is simply opened and read; no special modes
-or I/O disciplines are used. To change this, set the optional I<$mode>
-argument to one of the following values:
-
- "b" read file in binary mode
-
- "p" use portable mode
-
-The "p" mode is handy since it ensures that the digest value of
-I<$filename> will be the same when computed on different operating
-systems. It accomplishes this by internally translating all newlines in
-text files to UNIX format before calculating the digest. Binary files
-are read in raw mode with no translation whatsoever.
-
-For a fuller discussion of newline formats, refer to CPAN module
-L<File::LocalizeNewlines>. Its "universal line separator" regex forms
-the basis of I<addfile>'s portable mode processing.
-
-=item B<dump($filename)>
-
-Provides persistent storage of intermediate SHA states by writing
-a portable, human-readable representation of the current state to
-I<$filename>. If the argument is missing, or equal to the empty
-string, the state information will be written to STDOUT.
-
-=item B<load($filename)>
-
-Returns a Digest::SHA object representing the intermediate SHA
-state that was previously dumped to I<$filename>. If called as a
-class method, a new object is created; if called as an instance
-method, the object is reset to the state contained in I<$filename>.
-If the argument is missing, or equal to the empty string, the state
-information will be read from STDIN.
-
-=item B<digest>
-
-Returns the digest encoded as a binary string.
-
-Note that the I<digest> method is a read-once operation. Once it
-has been performed, the Digest::SHA object is automatically reset
-in preparation for calculating another digest value. Call
-I<$sha-E<gt>clone-E<gt>digest> if it's necessary to preserve the
-original digest state.
-
-=item B<hexdigest>
-
-Returns the digest encoded as a hexadecimal string.
-
-Like I<digest>, this method is a read-once operation. Call
-I<$sha-E<gt>clone-E<gt>hexdigest> if it's necessary to preserve
-the original digest state.
-
-This method is inherited if L<Digest::base> is installed on your
-system. Otherwise, a functionally equivalent substitute is used.
-
-=item B<b64digest>
-
-Returns the digest encoded as a Base64 string.
-
-Like I<digest>, this method is a read-once operation. Call
-I<$sha-E<gt>clone-E<gt>b64digest> if it's necessary to preserve
-the original digest state.
-
-This method is inherited if L<Digest::base> is installed on your
-system. Otherwise, a functionally equivalent substitute is used.
-
-It's important to note that the resulting string does B<not> contain
-the padding characters typical of Base64 encodings. This omission is
-deliberate, and is done to maintain compatibility with the family of
-CPAN Digest modules. See L</"PADDING OF BASE64 DIGESTS"> for details.
-
-=back
-
-I<HMAC-SHA-1/224/256/384/512>
-
-=over 4
-
-=item B<hmac_sha1($data, $key)>
-
-=item B<hmac_sha224($data, $key)>
-
-=item B<hmac_sha256($data, $key)>
-
-=item B<hmac_sha384($data, $key)>
-
-=item B<hmac_sha512($data, $key)>
-
-Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>,
-with the result encoded as a binary string. Multiple I<$data>
-arguments are allowed, provided that I<$key> is the last argument
-in the list.
-
-=item B<hmac_sha1_hex($data, $key)>
-
-=item B<hmac_sha224_hex($data, $key)>
-
-=item B<hmac_sha256_hex($data, $key)>
-
-=item B<hmac_sha384_hex($data, $key)>
-
-=item B<hmac_sha512_hex($data, $key)>
-
-Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>,
-with the result encoded as a hexadecimal string. Multiple I<$data>
-arguments are allowed, provided that I<$key> is the last argument
-in the list.
-
-=item B<hmac_sha1_base64($data, $key)>
-
-=item B<hmac_sha224_base64($data, $key)>
-
-=item B<hmac_sha256_base64($data, $key)>
-
-=item B<hmac_sha384_base64($data, $key)>
-
-=item B<hmac_sha512_base64($data, $key)>
-
-Returns the HMAC-SHA-1/224/256/384/512 digest of I<$data>/I<$key>,
-with the result encoded as a Base64 string. Multiple I<$data>
-arguments are allowed, provided that I<$key> is the last argument
-in the list.
-
-It's important to note that the resulting string does B<not> contain
-the padding characters typical of Base64 encodings. This omission is
-deliberate, and is done to maintain compatibility with the family of
-CPAN Digest modules. See L</"PADDING OF BASE64 DIGESTS"> for details.
-
-=back
-
-=head1 SEE ALSO
-
-L<Digest>, L<Digest::SHA::PurePerl>
-
-The Secure Hash Standard (FIPS PUB 180-2) can be found at:
-
-L<http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf>
-
-The Keyed-Hash Message Authentication Code (HMAC):
-
-L<http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf>
-
-=head1 AUTHOR
-
- Mark Shelor <mshelor@cpan.org>
-
-=head1 ACKNOWLEDGMENTS
-
-The author is particularly grateful to
-
- Gisle Aas
- Chris Carey
- Alexandr Ciornii
- Jim Doble
- Julius Duque
- Jeffrey Friedl
- Robert Gilmour
- Brian Gladman
- Adam Kennedy
- Andy Lester
- Alex Muntada
- Steve Peters
- Chris Skiscim
- Martin Thurn
- Gunnar Wolf
- Adam Woodbury
-
-for their valuable comments and suggestions.
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright (C) 2003-2008 Mark Shelor
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-L<perlartistic>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec.pm
deleted file mode 100644
index 53d4a5a22b2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec.pm
+++ /dev/null
@@ -1,336 +0,0 @@
-package File::Spec;
-
-use strict;
-use vars qw(@ISA $VERSION);
-
-$VERSION = '3.2701';
-$VERSION = eval $VERSION;
-
-my %module = (MacOS => 'Mac',
- MSWin32 => 'Win32',
- os2 => 'OS2',
- VMS => 'VMS',
- epoc => 'Epoc',
- NetWare => 'Win32', # Yes, File::Spec::Win32 works on NetWare.
- symbian => 'Win32', # Yes, File::Spec::Win32 works on symbian.
- dos => 'OS2', # Yes, File::Spec::OS2 works on DJGPP.
- cygwin => 'Cygwin');
-
-
-my $module = $module{$^O} || 'Unix';
-
-require "File/Spec/$module.pm";
-@ISA = ("File::Spec::$module");
-
-1;
-
-__END__
-
-=head1 NAME
-
-File::Spec - portably perform operations on file names
-
-=head1 SYNOPSIS
-
- use File::Spec;
-
- $x=File::Spec->catfile('a', 'b', 'c');
-
-which returns 'a/b/c' under Unix. Or:
-
- use File::Spec::Functions;
-
- $x = catfile('a', 'b', 'c');
-
-=head1 DESCRIPTION
-
-This module is designed to support operations commonly performed on file
-specifications (usually called "file names", but not to be confused with the
-contents of a file, or Perl's file handles), such as concatenating several
-directory and file names into a single path, or determining whether a path
-is rooted. It is based on code directly taken from MakeMaker 5.17, code
-written by Andreas KE<ouml>nig, Andy Dougherty, Charles Bailey, Ilya
-Zakharevich, Paul Schinder, and others.
-
-Since these functions are different for most operating systems, each set of
-OS specific routines is available in a separate module, including:
-
- File::Spec::Unix
- File::Spec::Mac
- File::Spec::OS2
- File::Spec::Win32
- File::Spec::VMS
-
-The module appropriate for the current OS is automatically loaded by
-File::Spec. Since some modules (like VMS) make use of facilities available
-only under that OS, it may not be possible to load all modules under all
-operating systems.
-
-Since File::Spec is object oriented, subroutines should not be called directly,
-as in:
-
- File::Spec::catfile('a','b');
-
-but rather as class methods:
-
- File::Spec->catfile('a','b');
-
-For simple uses, L<File::Spec::Functions> provides convenient functional
-forms of these methods.
-
-=head1 METHODS
-
-=over 2
-
-=item canonpath
-X<canonpath>
-
-No physical check on the filesystem, but a logical cleanup of a
-path.
-
- $cpath = File::Spec->canonpath( $path ) ;
-
-Note that this does *not* collapse F<x/../y> sections into F<y>. This
-is by design. If F</foo> on your system is a symlink to F</bar/baz>,
-then F</foo/../quux> is actually F</bar/quux>, not F</quux> as a naive
-F<../>-removal would give you. If you want to do this kind of
-processing, you probably want C<Cwd>'s C<realpath()> function to
-actually traverse the filesystem cleaning up paths like this.
-
-=item catdir
-X<catdir>
-
-Concatenate two or more directory names to form a complete path ending
-with a directory. But remove the trailing slash from the resulting
-string, because it doesn't look good, isn't necessary and confuses
-OS/2. Of course, if this is the root directory, don't cut off the
-trailing slash :-)
-
- $path = File::Spec->catdir( @directories );
-
-=item catfile
-X<catfile>
-
-Concatenate one or more directory names and a filename to form a
-complete path ending with a filename
-
- $path = File::Spec->catfile( @directories, $filename );
-
-=item curdir
-X<curdir>
-
-Returns a string representation of the current directory.
-
- $curdir = File::Spec->curdir();
-
-=item devnull
-X<devnull>
-
-Returns a string representation of the null device.
-
- $devnull = File::Spec->devnull();
-
-=item rootdir
-X<rootdir>
-
-Returns a string representation of the root directory.
-
- $rootdir = File::Spec->rootdir();
-
-=item tmpdir
-X<tmpdir>
-
-Returns a string representation of the first writable directory from a
-list of possible temporary directories. Returns the current directory
-if no writable temporary directories are found. The list of directories
-checked depends on the platform; e.g. File::Spec::Unix checks C<$ENV{TMPDIR}>
-(unless taint is on) and F</tmp>.
-
- $tmpdir = File::Spec->tmpdir();
-
-=item updir
-X<updir>
-
-Returns a string representation of the parent directory.
-
- $updir = File::Spec->updir();
-
-=item no_upwards
-
-Given a list of file names, strip out those that refer to a parent
-directory. (Does not strip symlinks, only '.', '..', and equivalents.)
-
- @paths = File::Spec->no_upwards( @paths );
-
-=item case_tolerant
-
-Returns a true or false value indicating, respectively, that alphabetic
-case is not or is significant when comparing file specifications.
-
- $is_case_tolerant = File::Spec->case_tolerant();
-
-=item file_name_is_absolute
-
-Takes as its argument a path, and returns true if it is an absolute path.
-
- $is_absolute = File::Spec->file_name_is_absolute( $path );
-
-This does not consult the local filesystem on Unix, Win32, OS/2, or
-Mac OS (Classic). It does consult the working environment for VMS
-(see L<File::Spec::VMS/file_name_is_absolute>).
-
-=item path
-X<path>
-
-Takes no argument. Returns the environment variable C<PATH> (or the local
-platform's equivalent) as a list.
-
- @PATH = File::Spec->path();
-
-=item join
-X<join, path>
-
-join is the same as catfile.
-
-=item splitpath
-X<splitpath> X<split, path>
-
-Splits a path in to volume, directory, and filename portions. On systems
-with no concept of volume, returns '' for volume.
-
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
-
-For systems with no syntax differentiating filenames from directories,
-assumes that the last file is a path unless C<$no_file> is true or a
-trailing separator or F</.> or F</..> is present. On Unix, this means that C<$no_file>
-true makes this return ( '', $path, '' ).
-
-The directory portion may or may not be returned with a trailing '/'.
-
-The results can be passed to L</catpath()> to get back a path equivalent to
-(usually identical to) the original path.
-
-=item splitdir
-X<splitdir> X<split, dir>
-
-The opposite of L</catdir()>.
-
- @dirs = File::Spec->splitdir( $directories );
-
-C<$directories> must be only the directory portion of the path on systems
-that have the concept of a volume or that have path syntax that differentiates
-files from directories.
-
-Unlike just splitting the directories on the separator, empty
-directory names (C<''>) can be returned, because these are significant
-on some OSes.
-
-=item catpath()
-
-Takes volume, directory and file portions and returns an entire path. Under
-Unix, C<$volume> is ignored, and directory and file are concatenated. A '/' is
-inserted if need be. On other OSes, C<$volume> is significant.
-
- $full_path = File::Spec->catpath( $volume, $directory, $file );
-
-=item abs2rel
-X<abs2rel> X<absolute, path> X<relative, path>
-
-Takes a destination path and an optional base path returns a relative path
-from the base path to the destination path:
-
- $rel_path = File::Spec->abs2rel( $path ) ;
- $rel_path = File::Spec->abs2rel( $path, $base ) ;
-
-If C<$base> is not present or '', then L<Cwd::cwd()|Cwd> is used. If C<$base> is
-relative, then it is converted to absolute form using
-L</rel2abs()>. This means that it is taken to be relative to
-L<Cwd::cwd()|Cwd>.
-
-On systems with the concept of volume, if C<$path> and C<$base> appear to be
-on two different volumes, we will not attempt to resolve the two
-paths, and we will instead simply return C<$path>. Note that previous
-versions of this module ignored the volume of C<$base>, which resulted in
-garbage results part of the time.
-
-On systems that have a grammar that indicates filenames, this ignores the
-C<$base> filename as well. Otherwise all path components are assumed to be
-directories.
-
-If C<$path> is relative, it is converted to absolute form using L</rel2abs()>.
-This means that it is taken to be relative to L<Cwd::cwd()|Cwd>.
-
-No checks against the filesystem are made. On VMS, there is
-interaction with the working environment, as logicals and
-macros are expanded.
-
-Based on code written by Shigio Yamaguchi.
-
-=item rel2abs()
-X<rel2abs> X<absolute, path> X<relative, path>
-
-Converts a relative path to an absolute path.
-
- $abs_path = File::Spec->rel2abs( $path ) ;
- $abs_path = File::Spec->rel2abs( $path, $base ) ;
-
-If C<$base> is not present or '', then L<Cwd::cwd()|Cwd> is used. If C<$base> is relative,
-then it is converted to absolute form using L</rel2abs()>. This means that it
-is taken to be relative to L<Cwd::cwd()|Cwd>.
-
-On systems with the concept of volume, if C<$path> and C<$base> appear to be
-on two different volumes, we will not attempt to resolve the two
-paths, and we will instead simply return C<$path>. Note that previous
-versions of this module ignored the volume of C<$base>, which resulted in
-garbage results part of the time.
-
-On systems that have a grammar that indicates filenames, this ignores the
-C<$base> filename as well. Otherwise all path components are assumed to be
-directories.
-
-If C<$path> is absolute, it is cleaned up and returned using L</canonpath()>.
-
-No checks against the filesystem are made. On VMS, there is
-interaction with the working environment, as logicals and
-macros are expanded.
-
-Based on code written by Shigio Yamaguchi.
-
-=back
-
-For further information, please see L<File::Spec::Unix>,
-L<File::Spec::Mac>, L<File::Spec::OS2>, L<File::Spec::Win32>, or
-L<File::Spec::VMS>.
-
-=head1 SEE ALSO
-
-L<File::Spec::Unix>, L<File::Spec::Mac>, L<File::Spec::OS2>,
-L<File::Spec::Win32>, L<File::Spec::VMS>, L<File::Spec::Functions>,
-L<ExtUtils::MakeMaker>
-
-=head1 AUTHOR
-
-Currently maintained by Ken Williams C<< <KWILLIAMS@cpan.org> >>.
-
-The vast majority of the code was written by
-Kenneth Albanowski C<< <kjahds@kjahds.com> >>,
-Andy Dougherty C<< <doughera@lafayette.edu> >>,
-Andreas KE<ouml>nig C<< <A.Koenig@franz.ww.TU-Berlin.DE> >>,
-Tim Bunce C<< <Tim.Bunce@ig.co.uk> >>.
-VMS support by Charles Bailey C<< <bailey@newman.upenn.edu> >>.
-OS/2 support by Ilya Zakharevich C<< <ilya@math.ohio-state.edu> >>.
-Mac support by Paul Schinder C<< <schinder@pobox.com> >>, and
-Thomas Wegner C<< <wegner_thomas@yahoo.com> >>.
-abs2rel() and rel2abs() written by Shigio Yamaguchi C<< <shigio@tamacom.com> >>,
-modified by Barrie Slaymaker C<< <barries@slaysys.com> >>.
-splitpath(), splitdir(), catpath() and catdir() by Barrie Slaymaker.
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Cygwin.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Cygwin.pm
deleted file mode 100644
index 1b2c0459603..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Cygwin.pm
+++ /dev/null
@@ -1,154 +0,0 @@
-package File::Spec::Cygwin;
-
-use strict;
-use vars qw(@ISA $VERSION);
-require File::Spec::Unix;
-
-$VERSION = '3.2701';
-
-@ISA = qw(File::Spec::Unix);
-
-=head1 NAME
-
-File::Spec::Cygwin - methods for Cygwin file specs
-
-=head1 SYNOPSIS
-
- require File::Spec::Cygwin; # Done internally by File::Spec if needed
-
-=head1 DESCRIPTION
-
-See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
-implementation of these methods, not the semantics.
-
-This module is still in beta. Cygwin-knowledgeable folks are invited
-to offer patches and suggestions.
-
-=cut
-
-=pod
-
-=over 4
-
-=item canonpath
-
-Any C<\> (backslashes) are converted to C</> (forward slashes),
-and then File::Spec::Unix canonpath() is called on the result.
-
-=cut
-
-sub canonpath {
- my($self,$path) = @_;
- return unless defined $path;
-
- $path =~ s|\\|/|g;
-
- # Handle network path names beginning with double slash
- my $node = '';
- if ( $path =~ s@^(//[^/]+)(?:/|\z)@/@s ) {
- $node = $1;
- }
- return $node . $self->SUPER::canonpath($path);
-}
-
-sub catdir {
- my $self = shift;
- return unless @_;
-
- # Don't create something that looks like a //network/path
- if ($_[0] and ($_[0] eq '/' or $_[0] eq '\\')) {
- shift;
- return $self->SUPER::catdir('', @_);
- }
-
- $self->SUPER::catdir(@_);
-}
-
-=pod
-
-=item file_name_is_absolute
-
-True is returned if the file name begins with C<drive_letter:>,
-and if not, File::Spec::Unix file_name_is_absolute() is called.
-
-=cut
-
-
-sub file_name_is_absolute {
- my ($self,$file) = @_;
- return 1 if $file =~ m{^([a-z]:)?[\\/]}is; # C:/test
- return $self->SUPER::file_name_is_absolute($file);
-}
-
-=item tmpdir (override)
-
-Returns a string representation of the first existing directory
-from the following list:
-
- $ENV{TMPDIR}
- /tmp
- $ENV{'TMP'}
- $ENV{'TEMP'}
- C:/temp
-
-Since Perl 5.8.0, if running under taint mode, and if the environment
-variables are tainted, they are not used.
-
-=cut
-
-my $tmpdir;
-sub tmpdir {
- return $tmpdir if defined $tmpdir;
- $tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR}, "/tmp", $ENV{'TMP'}, $ENV{'TEMP'}, 'C:/temp' );
-}
-
-=item case_tolerant
-
-Override Unix. Cygwin case-tolerance depends on managed mount settings and
-as with MsWin32 on GetVolumeInformation() $ouFsFlags == FS_CASE_SENSITIVE,
-indicating the case significance when comparing file specifications.
-Default: 1
-
-=cut
-
-sub case_tolerant () {
- return 1 unless $^O eq 'cygwin'
- and defined &Cygwin::mount_flags;
-
- my $drive = shift;
- if (! $drive) {
- my @flags = split(/,/, Cygwin::mount_flags('/cygwin'));
- my $prefix = pop(@flags);
- if (! $prefix || $prefix eq 'cygdrive') {
- $drive = '/cygdrive/c';
- } elsif ($prefix eq '/') {
- $drive = '/c';
- } else {
- $drive = "$prefix/c";
- }
- }
- my $mntopts = Cygwin::mount_flags($drive);
- if ($mntopts and ($mntopts =~ /,managed/)) {
- return 0;
- }
- eval { require Win32API::File; } or return 1;
- my $osFsType = "\0"x256;
- my $osVolName = "\0"x256;
- my $ouFsFlags = 0;
- Win32API::File::GetVolumeInformation($drive, $osVolName, 256, [], [], $ouFsFlags, $osFsType, 256 );
- if ($ouFsFlags & Win32API::File::FS_CASE_SENSITIVE()) { return 0; }
- else { return 1; }
-}
-
-=back
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004,2007 by the Perl 5 Porters. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Epoc.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Epoc.pm
deleted file mode 100644
index 1e0ad188bd2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Epoc.pm
+++ /dev/null
@@ -1,78 +0,0 @@
-package File::Spec::Epoc;
-
-use strict;
-use vars qw($VERSION @ISA);
-
-$VERSION = '3.2701';
-
-require File::Spec::Unix;
-@ISA = qw(File::Spec::Unix);
-
-=head1 NAME
-
-File::Spec::Epoc - methods for Epoc file specs
-
-=head1 SYNOPSIS
-
- require File::Spec::Epoc; # Done internally by File::Spec if needed
-
-=head1 DESCRIPTION
-
-See File::Spec::Unix for a documentation of the methods provided
-there. This package overrides the implementation of these methods, not
-the semantics.
-
-This package is still work in progress ;-)
-
-=cut
-
-sub case_tolerant {
- return 1;
-}
-
-=pod
-
-=over 4
-
-=item canonpath()
-
-No physical check on the filesystem, but a logical cleanup of a
-path. On UNIX eliminated successive slashes and successive "/.".
-
-=back
-
-=cut
-
-sub canonpath {
- my ($self,$path) = @_;
- return unless defined $path;
-
- $path =~ s|/+|/|g; # xx////xx -> xx/xx
- $path =~ s|(/\.)+/|/|g; # xx/././xx -> xx/xx
- $path =~ s|^(\./)+||s unless $path eq "./"; # ./xx -> xx
- $path =~ s|^/(\.\./)+|/|s; # /../../xx -> xx
- $path =~ s|/\Z(?!\n)|| unless $path eq "/"; # xx/ -> xx
- return $path;
-}
-
-=pod
-
-=head1 AUTHOR
-
-o.flebbe@gmx.de
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
-implementation of these methods, not the semantics.
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Functions.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Functions.pm
deleted file mode 100644
index ab335e16a05..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Functions.pm
+++ /dev/null
@@ -1,109 +0,0 @@
-package File::Spec::Functions;
-
-use File::Spec;
-use strict;
-
-use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
-
-$VERSION = '3.2701';
-
-require Exporter;
-
-@ISA = qw(Exporter);
-
-@EXPORT = qw(
- canonpath
- catdir
- catfile
- curdir
- rootdir
- updir
- no_upwards
- file_name_is_absolute
- path
-);
-
-@EXPORT_OK = qw(
- devnull
- tmpdir
- splitpath
- splitdir
- catpath
- abs2rel
- rel2abs
- case_tolerant
-);
-
-%EXPORT_TAGS = ( ALL => [ @EXPORT_OK, @EXPORT ] );
-
-foreach my $meth (@EXPORT, @EXPORT_OK) {
- my $sub = File::Spec->can($meth);
- no strict 'refs';
- *{$meth} = sub {&$sub('File::Spec', @_)};
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-File::Spec::Functions - portably perform operations on file names
-
-=head1 SYNOPSIS
-
- use File::Spec::Functions;
- $x = catfile('a','b');
-
-=head1 DESCRIPTION
-
-This module exports convenience functions for all of the class methods
-provided by File::Spec.
-
-For a reference of available functions, please consult L<File::Spec::Unix>,
-which contains the entire set, and which is inherited by the modules for
-other platforms. For further information, please see L<File::Spec::Mac>,
-L<File::Spec::OS2>, L<File::Spec::Win32>, or L<File::Spec::VMS>.
-
-=head2 Exports
-
-The following functions are exported by default.
-
- canonpath
- catdir
- catfile
- curdir
- rootdir
- updir
- no_upwards
- file_name_is_absolute
- path
-
-
-The following functions are exported only by request.
-
- devnull
- tmpdir
- splitpath
- splitdir
- catpath
- abs2rel
- rel2abs
- case_tolerant
-
-All the functions may be imported using the C<:ALL> tag.
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-File::Spec, File::Spec::Unix, File::Spec::Mac, File::Spec::OS2,
-File::Spec::Win32, File::Spec::VMS, ExtUtils::MakeMaker
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Mac.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Mac.pm
deleted file mode 100644
index 97fa6766263..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Mac.pm
+++ /dev/null
@@ -1,780 +0,0 @@
-package File::Spec::Mac;
-
-use strict;
-use vars qw(@ISA $VERSION);
-require File::Spec::Unix;
-
-$VERSION = '3.2701';
-
-@ISA = qw(File::Spec::Unix);
-
-my $macfiles;
-if ($^O eq 'MacOS') {
- $macfiles = eval { require Mac::Files };
-}
-
-sub case_tolerant { 1 }
-
-
-=head1 NAME
-
-File::Spec::Mac - File::Spec for Mac OS (Classic)
-
-=head1 SYNOPSIS
-
- require File::Spec::Mac; # Done internally by File::Spec if needed
-
-=head1 DESCRIPTION
-
-Methods for manipulating file specifications.
-
-=head1 METHODS
-
-=over 2
-
-=item canonpath
-
-On Mac OS, there's nothing to be done. Returns what it's given.
-
-=cut
-
-sub canonpath {
- my ($self,$path) = @_;
- return $path;
-}
-
-=item catdir()
-
-Concatenate two or more directory names to form a path separated by colons
-(":") ending with a directory. Resulting paths are B<relative> by default,
-but can be forced to be absolute (but avoid this, see below). Automatically
-puts a trailing ":" on the end of the complete path, because that's what's
-done in MacPerl's environment and helps to distinguish a file path from a
-directory path.
-
-B<IMPORTANT NOTE:> Beginning with version 1.3 of this module, the resulting
-path is relative by default and I<not> absolute. This decision was made due
-to portability reasons. Since C<File::Spec-E<gt>catdir()> returns relative paths
-on all other operating systems, it will now also follow this convention on Mac
-OS. Note that this may break some existing scripts.
-
-The intended purpose of this routine is to concatenate I<directory names>.
-But because of the nature of Macintosh paths, some additional possibilities
-are allowed to make using this routine give reasonable results for some
-common situations. In other words, you are also allowed to concatenate
-I<paths> instead of directory names (strictly speaking, a string like ":a"
-is a path, but not a name, since it contains a punctuation character ":").
-
-So, beside calls like
-
- catdir("a") = ":a:"
- catdir("a","b") = ":a:b:"
- catdir() = "" (special case)
-
-calls like the following
-
- catdir(":a:") = ":a:"
- catdir(":a","b") = ":a:b:"
- catdir(":a:","b") = ":a:b:"
- catdir(":a:",":b:") = ":a:b:"
- catdir(":") = ":"
-
-are allowed.
-
-Here are the rules that are used in C<catdir()>; note that we try to be as
-compatible as possible to Unix:
-
-=over 2
-
-=item 1.
-
-The resulting path is relative by default, i.e. the resulting path will have a
-leading colon.
-
-=item 2.
-
-A trailing colon is added automatically to the resulting path, to denote a
-directory.
-
-=item 3.
-
-Generally, each argument has one leading ":" and one trailing ":"
-removed (if any). They are then joined together by a ":". Special
-treatment applies for arguments denoting updir paths like "::lib:",
-see (4), or arguments consisting solely of colons ("colon paths"),
-see (5).
-
-=item 4.
-
-When an updir path like ":::lib::" is passed as argument, the number
-of directories to climb up is handled correctly, not removing leading
-or trailing colons when necessary. E.g.
-
- catdir(":::a","::b","c") = ":::a::b:c:"
- catdir(":::a::","::b","c") = ":::a:::b:c:"
-
-=item 5.
-
-Adding a colon ":" or empty string "" to a path at I<any> position
-doesn't alter the path, i.e. these arguments are ignored. (When a ""
-is passed as the first argument, it has a special meaning, see
-(6)). This way, a colon ":" is handled like a "." (curdir) on Unix,
-while an empty string "" is generally ignored (see
-C<Unix-E<gt>canonpath()> ). Likewise, a "::" is handled like a ".."
-(updir), and a ":::" is handled like a "../.." etc. E.g.
-
- catdir("a",":",":","b") = ":a:b:"
- catdir("a",":","::",":b") = ":a::b:"
-
-=item 6.
-
-If the first argument is an empty string "" or is a volume name, i.e. matches
-the pattern /^[^:]+:/, the resulting path is B<absolute>.
-
-=item 7.
-
-Passing an empty string "" as the first argument to C<catdir()> is
-like passingC<File::Spec-E<gt>rootdir()> as the first argument, i.e.
-
- catdir("","a","b") is the same as
-
- catdir(rootdir(),"a","b").
-
-This is true on Unix, where C<catdir("","a","b")> yields "/a/b" and
-C<rootdir()> is "/". Note that C<rootdir()> on Mac OS is the startup
-volume, which is the closest in concept to Unix' "/". This should help
-to run existing scripts originally written for Unix.
-
-=item 8.
-
-For absolute paths, some cleanup is done, to ensure that the volume
-name isn't immediately followed by updirs. This is invalid, because
-this would go beyond "root". Generally, these cases are handled like
-their Unix counterparts:
-
- Unix:
- Unix->catdir("","") = "/"
- Unix->catdir("",".") = "/"
- Unix->catdir("","..") = "/" # can't go beyond root
- Unix->catdir("",".","..","..","a") = "/a"
- Mac:
- Mac->catdir("","") = rootdir() # (e.g. "HD:")
- Mac->catdir("",":") = rootdir()
- Mac->catdir("","::") = rootdir() # can't go beyond root
- Mac->catdir("",":","::","::","a") = rootdir() . "a:" # (e.g. "HD:a:")
-
-However, this approach is limited to the first arguments following
-"root" (again, see C<Unix-E<gt>canonpath()> ). If there are more
-arguments that move up the directory tree, an invalid path going
-beyond root can be created.
-
-=back
-
-As you've seen, you can force C<catdir()> to create an absolute path
-by passing either an empty string or a path that begins with a volume
-name as the first argument. However, you are strongly encouraged not
-to do so, since this is done only for backward compatibility. Newer
-versions of File::Spec come with a method called C<catpath()> (see
-below), that is designed to offer a portable solution for the creation
-of absolute paths. It takes volume, directory and file portions and
-returns an entire path. While C<catdir()> is still suitable for the
-concatenation of I<directory names>, you are encouraged to use
-C<catpath()> to concatenate I<volume names> and I<directory
-paths>. E.g.
-
- $dir = File::Spec->catdir("tmp","sources");
- $abs_path = File::Spec->catpath("MacintoshHD:", $dir,"");
-
-yields
-
- "MacintoshHD:tmp:sources:" .
-
-=cut
-
-sub catdir {
- my $self = shift;
- return '' unless @_;
- my @args = @_;
- my $first_arg;
- my $relative;
-
- # take care of the first argument
-
- if ($args[0] eq '') { # absolute path, rootdir
- shift @args;
- $relative = 0;
- $first_arg = $self->rootdir;
-
- } elsif ($args[0] =~ /^[^:]+:/) { # absolute path, volume name
- $relative = 0;
- $first_arg = shift @args;
- # add a trailing ':' if need be (may be it's a path like HD:dir)
- $first_arg = "$first_arg:" unless ($first_arg =~ /:\Z(?!\n)/);
-
- } else { # relative path
- $relative = 1;
- if ( $args[0] =~ /^::+\Z(?!\n)/ ) {
- # updir colon path ('::', ':::' etc.), don't shift
- $first_arg = ':';
- } elsif ($args[0] eq ':') {
- $first_arg = shift @args;
- } else {
- # add a trailing ':' if need be
- $first_arg = shift @args;
- $first_arg = "$first_arg:" unless ($first_arg =~ /:\Z(?!\n)/);
- }
- }
-
- # For all other arguments,
- # (a) ignore arguments that equal ':' or '',
- # (b) handle updir paths specially:
- # '::' -> concatenate '::'
- # '::' . '::' -> concatenate ':::' etc.
- # (c) add a trailing ':' if need be
-
- my $result = $first_arg;
- while (@args) {
- my $arg = shift @args;
- unless (($arg eq '') || ($arg eq ':')) {
- if ($arg =~ /^::+\Z(?!\n)/ ) { # updir colon path like ':::'
- my $updir_count = length($arg) - 1;
- while ((@args) && ($args[0] =~ /^::+\Z(?!\n)/) ) { # while updir colon path
- $arg = shift @args;
- $updir_count += (length($arg) - 1);
- }
- $arg = (':' x $updir_count);
- } else {
- $arg =~ s/^://s; # remove a leading ':' if any
- $arg = "$arg:" unless ($arg =~ /:\Z(?!\n)/); # ensure trailing ':'
- }
- $result .= $arg;
- }#unless
- }
-
- if ( ($relative) && ($result !~ /^:/) ) {
- # add a leading colon if need be
- $result = ":$result";
- }
-
- unless ($relative) {
- # remove updirs immediately following the volume name
- $result =~ s/([^:]+:)(:*)(.*)\Z(?!\n)/$1$3/;
- }
-
- return $result;
-}
-
-=item catfile
-
-Concatenate one or more directory names and a filename to form a
-complete path ending with a filename. Resulting paths are B<relative>
-by default, but can be forced to be absolute (but avoid this).
-
-B<IMPORTANT NOTE:> Beginning with version 1.3 of this module, the
-resulting path is relative by default and I<not> absolute. This
-decision was made due to portability reasons. Since
-C<File::Spec-E<gt>catfile()> returns relative paths on all other
-operating systems, it will now also follow this convention on Mac OS.
-Note that this may break some existing scripts.
-
-The last argument is always considered to be the file portion. Since
-C<catfile()> uses C<catdir()> (see above) for the concatenation of the
-directory portions (if any), the following with regard to relative and
-absolute paths is true:
-
- catfile("") = ""
- catfile("file") = "file"
-
-but
-
- catfile("","") = rootdir() # (e.g. "HD:")
- catfile("","file") = rootdir() . file # (e.g. "HD:file")
- catfile("HD:","file") = "HD:file"
-
-This means that C<catdir()> is called only when there are two or more
-arguments, as one might expect.
-
-Note that the leading ":" is removed from the filename, so that
-
- catfile("a","b","file") = ":a:b:file" and
-
- catfile("a","b",":file") = ":a:b:file"
-
-give the same answer.
-
-To concatenate I<volume names>, I<directory paths> and I<filenames>,
-you are encouraged to use C<catpath()> (see below).
-
-=cut
-
-sub catfile {
- my $self = shift;
- return '' unless @_;
- my $file = pop @_;
- return $file unless @_;
- my $dir = $self->catdir(@_);
- $file =~ s/^://s;
- return $dir.$file;
-}
-
-=item curdir
-
-Returns a string representing the current directory. On Mac OS, this is ":".
-
-=cut
-
-sub curdir {
- return ":";
-}
-
-=item devnull
-
-Returns a string representing the null device. On Mac OS, this is "Dev:Null".
-
-=cut
-
-sub devnull {
- return "Dev:Null";
-}
-
-=item rootdir
-
-Returns a string representing the root directory. Under MacPerl,
-returns the name of the startup volume, since that's the closest in
-concept, although other volumes aren't rooted there. The name has a
-trailing ":", because that's the correct specification for a volume
-name on Mac OS.
-
-If Mac::Files could not be loaded, the empty string is returned.
-
-=cut
-
-sub rootdir {
-#
-# There's no real root directory on Mac OS. The name of the startup
-# volume is returned, since that's the closest in concept.
-#
- return '' unless $macfiles;
- my $system = Mac::Files::FindFolder(&Mac::Files::kOnSystemDisk,
- &Mac::Files::kSystemFolderType);
- $system =~ s/:.*\Z(?!\n)/:/s;
- return $system;
-}
-
-=item tmpdir
-
-Returns the contents of $ENV{TMPDIR}, if that directory exits or the
-current working directory otherwise. Under MacPerl, $ENV{TMPDIR} will
-contain a path like "MacintoshHD:Temporary Items:", which is a hidden
-directory on your startup volume.
-
-=cut
-
-my $tmpdir;
-sub tmpdir {
- return $tmpdir if defined $tmpdir;
- $tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR} );
-}
-
-=item updir
-
-Returns a string representing the parent directory. On Mac OS, this is "::".
-
-=cut
-
-sub updir {
- return "::";
-}
-
-=item file_name_is_absolute
-
-Takes as argument a path and returns true, if it is an absolute path.
-If the path has a leading ":", it's a relative path. Otherwise, it's an
-absolute path, unless the path doesn't contain any colons, i.e. it's a name
-like "a". In this particular case, the path is considered to be relative
-(i.e. it is considered to be a filename). Use ":" in the appropriate place
-in the path if you want to distinguish unambiguously. As a special case,
-the filename '' is always considered to be absolute. Note that with version
-1.2 of File::Spec::Mac, this does no longer consult the local filesystem.
-
-E.g.
-
- File::Spec->file_name_is_absolute("a"); # false (relative)
- File::Spec->file_name_is_absolute(":a:b:"); # false (relative)
- File::Spec->file_name_is_absolute("MacintoshHD:"); # true (absolute)
- File::Spec->file_name_is_absolute(""); # true (absolute)
-
-
-=cut
-
-sub file_name_is_absolute {
- my ($self,$file) = @_;
- if ($file =~ /:/) {
- return (! ($file =~ m/^:/s) );
- } elsif ( $file eq '' ) {
- return 1 ;
- } else {
- return 0; # i.e. a file like "a"
- }
-}
-
-=item path
-
-Returns the null list for the MacPerl application, since the concept is
-usually meaningless under Mac OS. But if you're using the MacPerl tool under
-MPW, it gives back $ENV{Commands} suitably split, as is done in
-:lib:ExtUtils:MM_Mac.pm.
-
-=cut
-
-sub path {
-#
-# The concept is meaningless under the MacPerl application.
-# Under MPW, it has a meaning.
-#
- return unless exists $ENV{Commands};
- return split(/,/, $ENV{Commands});
-}
-
-=item splitpath
-
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
-
-Splits a path into volume, directory, and filename portions.
-
-On Mac OS, assumes that the last part of the path is a filename unless
-$no_file is true or a trailing separator ":" is present.
-
-The volume portion is always returned with a trailing ":". The directory portion
-is always returned with a leading (to denote a relative path) and a trailing ":"
-(to denote a directory). The file portion is always returned I<without> a leading ":".
-Empty portions are returned as empty string ''.
-
-The results can be passed to C<catpath()> to get back a path equivalent to
-(usually identical to) the original path.
-
-
-=cut
-
-sub splitpath {
- my ($self,$path, $nofile) = @_;
- my ($volume,$directory,$file);
-
- if ( $nofile ) {
- ( $volume, $directory ) = $path =~ m|^((?:[^:]+:)?)(.*)|s;
- }
- else {
- $path =~
- m|^( (?: [^:]+: )? )
- ( (?: .*: )? )
- ( .* )
- |xs;
- $volume = $1;
- $directory = $2;
- $file = $3;
- }
-
- $volume = '' unless defined($volume);
- $directory = ":$directory" if ( $volume && $directory ); # take care of "HD::dir"
- if ($directory) {
- # Make sure non-empty directories begin and end in ':'
- $directory .= ':' unless (substr($directory,-1) eq ':');
- $directory = ":$directory" unless (substr($directory,0,1) eq ':');
- } else {
- $directory = '';
- }
- $file = '' unless defined($file);
-
- return ($volume,$directory,$file);
-}
-
-
-=item splitdir
-
-The opposite of C<catdir()>.
-
- @dirs = File::Spec->splitdir( $directories );
-
-$directories should be only the directory portion of the path on systems
-that have the concept of a volume or that have path syntax that differentiates
-files from directories. Consider using C<splitpath()> otherwise.
-
-Unlike just splitting the directories on the separator, empty directory names
-(C<"">) can be returned. Since C<catdir()> on Mac OS always appends a trailing
-colon to distinguish a directory path from a file path, a single trailing colon
-will be ignored, i.e. there's no empty directory name after it.
-
-Hence, on Mac OS, both
-
- File::Spec->splitdir( ":a:b::c:" ); and
- File::Spec->splitdir( ":a:b::c" );
-
-yield:
-
- ( "a", "b", "::", "c")
-
-while
-
- File::Spec->splitdir( ":a:b::c::" );
-
-yields:
-
- ( "a", "b", "::", "c", "::")
-
-
-=cut
-
-sub splitdir {
- my ($self, $path) = @_;
- my @result = ();
- my ($head, $sep, $tail, $volume, $directories);
-
- return @result if ( (!defined($path)) || ($path eq '') );
- return (':') if ($path eq ':');
-
- ( $volume, $sep, $directories ) = $path =~ m|^((?:[^:]+:)?)(:*)(.*)|s;
-
- # deprecated, but handle it correctly
- if ($volume) {
- push (@result, $volume);
- $sep .= ':';
- }
-
- while ($sep || $directories) {
- if (length($sep) > 1) {
- my $updir_count = length($sep) - 1;
- for (my $i=0; $i<$updir_count; $i++) {
- # push '::' updir_count times;
- # simulate Unix '..' updirs
- push (@result, '::');
- }
- }
- $sep = '';
- if ($directories) {
- ( $head, $sep, $tail ) = $directories =~ m|^((?:[^:]+)?)(:*)(.*)|s;
- push (@result, $head);
- $directories = $tail;
- }
- }
- return @result;
-}
-
-
-=item catpath
-
- $path = File::Spec->catpath($volume,$directory,$file);
-
-Takes volume, directory and file portions and returns an entire path. On Mac OS,
-$volume, $directory and $file are concatenated. A ':' is inserted if need be. You
-may pass an empty string for each portion. If all portions are empty, the empty
-string is returned. If $volume is empty, the result will be a relative path,
-beginning with a ':'. If $volume and $directory are empty, a leading ":" (if any)
-is removed form $file and the remainder is returned. If $file is empty, the
-resulting path will have a trailing ':'.
-
-
-=cut
-
-sub catpath {
- my ($self,$volume,$directory,$file) = @_;
-
- if ( (! $volume) && (! $directory) ) {
- $file =~ s/^:// if $file;
- return $file ;
- }
-
- # We look for a volume in $volume, then in $directory, but not both
-
- my ($dir_volume, $dir_dirs) = $self->splitpath($directory, 1);
-
- $volume = $dir_volume unless length $volume;
- my $path = $volume; # may be ''
- $path .= ':' unless (substr($path, -1) eq ':'); # ensure trailing ':'
-
- if ($directory) {
- $directory = $dir_dirs if $volume;
- $directory =~ s/^://; # remove leading ':' if any
- $path .= $directory;
- $path .= ':' unless (substr($path, -1) eq ':'); # ensure trailing ':'
- }
-
- if ($file) {
- $file =~ s/^://; # remove leading ':' if any
- $path .= $file;
- }
-
- return $path;
-}
-
-=item abs2rel
-
-Takes a destination path and an optional base path and returns a relative path
-from the base path to the destination path:
-
- $rel_path = File::Spec->abs2rel( $path ) ;
- $rel_path = File::Spec->abs2rel( $path, $base ) ;
-
-Note that both paths are assumed to have a notation that distinguishes a
-directory path (with trailing ':') from a file path (without trailing ':').
-
-If $base is not present or '', then the current working directory is used.
-If $base is relative, then it is converted to absolute form using C<rel2abs()>.
-This means that it is taken to be relative to the current working directory.
-
-If $path and $base appear to be on two different volumes, we will not
-attempt to resolve the two paths, and we will instead simply return
-$path. Note that previous versions of this module ignored the volume
-of $base, which resulted in garbage results part of the time.
-
-If $base doesn't have a trailing colon, the last element of $base is
-assumed to be a filename. This filename is ignored. Otherwise all path
-components are assumed to be directories.
-
-If $path is relative, it is converted to absolute form using C<rel2abs()>.
-This means that it is taken to be relative to the current working directory.
-
-Based on code written by Shigio Yamaguchi.
-
-
-=cut
-
-# maybe this should be done in canonpath() ?
-sub _resolve_updirs {
- my $path = shift @_;
- my $proceed;
-
- # resolve any updirs, e.g. "HD:tmp::file" -> "HD:file"
- do {
- $proceed = ($path =~ s/^(.*):[^:]+::(.*?)\z/$1:$2/);
- } while ($proceed);
-
- return $path;
-}
-
-
-sub abs2rel {
- my($self,$path,$base) = @_;
-
- # Clean up $path
- if ( ! $self->file_name_is_absolute( $path ) ) {
- $path = $self->rel2abs( $path ) ;
- }
-
- # Figure out the effective $base and clean it up.
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd();
- }
- elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- $base = _resolve_updirs( $base ); # resolve updirs in $base
- }
- else {
- $base = _resolve_updirs( $base );
- }
-
- # Split up paths - ignore $base's file
- my ( $path_vol, $path_dirs, $path_file ) = $self->splitpath( $path );
- my ( $base_vol, $base_dirs ) = $self->splitpath( $base );
-
- return $path unless lc( $path_vol ) eq lc( $base_vol );
-
- # Now, remove all leading components that are the same
- my @pathchunks = $self->splitdir( $path_dirs );
- my @basechunks = $self->splitdir( $base_dirs );
-
- while ( @pathchunks &&
- @basechunks &&
- lc( $pathchunks[0] ) eq lc( $basechunks[0] ) ) {
- shift @pathchunks ;
- shift @basechunks ;
- }
-
- # @pathchunks now has the directories to descend in to.
- # ensure relative path, even if @pathchunks is empty
- $path_dirs = $self->catdir( ':', @pathchunks );
-
- # @basechunks now contains the number of directories to climb out of.
- $base_dirs = (':' x @basechunks) . ':' ;
-
- return $self->catpath( '', $self->catdir( $base_dirs, $path_dirs ), $path_file ) ;
-}
-
-=item rel2abs
-
-Converts a relative path to an absolute path:
-
- $abs_path = File::Spec->rel2abs( $path ) ;
- $abs_path = File::Spec->rel2abs( $path, $base ) ;
-
-Note that both paths are assumed to have a notation that distinguishes a
-directory path (with trailing ':') from a file path (without trailing ':').
-
-If $base is not present or '', then $base is set to the current working
-directory. If $base is relative, then it is converted to absolute form
-using C<rel2abs()>. This means that it is taken to be relative to the
-current working directory.
-
-If $base doesn't have a trailing colon, the last element of $base is
-assumed to be a filename. This filename is ignored. Otherwise all path
-components are assumed to be directories.
-
-If $path is already absolute, it is returned and $base is ignored.
-
-Based on code written by Shigio Yamaguchi.
-
-=cut
-
-sub rel2abs {
- my ($self,$path,$base) = @_;
-
- if ( ! $self->file_name_is_absolute($path) ) {
- # Figure out the effective $base and clean it up.
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd();
- }
- elsif ( ! $self->file_name_is_absolute($base) ) {
- $base = $self->rel2abs($base) ;
- }
-
- # Split up paths
-
- # igonore $path's volume
- my ( $path_dirs, $path_file ) = ($self->splitpath($path))[1,2] ;
-
- # ignore $base's file part
- my ( $base_vol, $base_dirs ) = $self->splitpath($base) ;
-
- # Glom them together
- $path_dirs = ':' if ($path_dirs eq '');
- $base_dirs =~ s/:$//; # remove trailing ':', if any
- $base_dirs = $base_dirs . $path_dirs;
-
- $path = $self->catpath( $base_vol, $base_dirs, $path_file );
- }
- return $path;
-}
-
-
-=back
-
-=head1 AUTHORS
-
-See the authors list in I<File::Spec>. Mac OS support by Paul Schinder
-<schinder@pobox.com> and Thomas Wegner <wegner_thomas@yahoo.com>.
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
-implementation of these methods, not the semantics.
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/OS2.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/OS2.pm
deleted file mode 100644
index 48d09fa2f9c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/OS2.pm
+++ /dev/null
@@ -1,273 +0,0 @@
-package File::Spec::OS2;
-
-use strict;
-use vars qw(@ISA $VERSION);
-require File::Spec::Unix;
-
-$VERSION = '3.2701';
-
-@ISA = qw(File::Spec::Unix);
-
-sub devnull {
- return "/dev/nul";
-}
-
-sub case_tolerant {
- return 1;
-}
-
-sub file_name_is_absolute {
- my ($self,$file) = @_;
- return scalar($file =~ m{^([a-z]:)?[\\/]}is);
-}
-
-sub path {
- my $path = $ENV{PATH};
- $path =~ s:\\:/:g;
- my @path = split(';',$path);
- foreach (@path) { $_ = '.' if $_ eq '' }
- return @path;
-}
-
-sub _cwd {
- # In OS/2 the "require Cwd" is unnecessary bloat.
- return Cwd::sys_cwd();
-}
-
-my $tmpdir;
-sub tmpdir {
- return $tmpdir if defined $tmpdir;
- my @d = @ENV{qw(TMPDIR TEMP TMP)}; # function call could autovivivy
- $tmpdir = $_[0]->_tmpdir( @d, '/tmp', '/' );
-}
-
-sub catdir {
- my $self = shift;
- my @args = @_;
- foreach (@args) {
- tr[\\][/];
- # append a backslash to each argument unless it has one there
- $_ .= "/" unless m{/$};
- }
- return $self->canonpath(join('', @args));
-}
-
-sub canonpath {
- my ($self,$path) = @_;
- return unless defined $path;
-
- $path =~ s/^([a-z]:)/\l$1/s;
- $path =~ s|\\|/|g;
- $path =~ s|([^/])/+|$1/|g; # xx////xx -> xx/xx
- $path =~ s|(/\.)+/|/|g; # xx/././xx -> xx/xx
- $path =~ s|^(\./)+(?=[^/])||s; # ./xx -> xx
- $path =~ s|/\Z(?!\n)||
- unless $path =~ m#^([a-z]:)?/\Z(?!\n)#si;# xx/ -> xx
- $path =~ s{^/\.\.$}{/}; # /.. -> /
- 1 while $path =~ s{^/\.\.}{}; # /../xx -> /xx
- return $path;
-}
-
-
-sub splitpath {
- my ($self,$path, $nofile) = @_;
- my ($volume,$directory,$file) = ('','','');
- if ( $nofile ) {
- $path =~
- m{^( (?:[a-zA-Z]:|(?:\\\\|//)[^\\/]+[\\/][^\\/]+)? )
- (.*)
- }xs;
- $volume = $1;
- $directory = $2;
- }
- else {
- $path =~
- m{^ ( (?: [a-zA-Z]: |
- (?:\\\\|//)[^\\/]+[\\/][^\\/]+
- )?
- )
- ( (?:.*[\\\\/](?:\.\.?\Z(?!\n))?)? )
- (.*)
- }xs;
- $volume = $1;
- $directory = $2;
- $file = $3;
- }
-
- return ($volume,$directory,$file);
-}
-
-
-sub splitdir {
- my ($self,$directories) = @_ ;
- split m|[\\/]|, $directories, -1;
-}
-
-
-sub catpath {
- my ($self,$volume,$directory,$file) = @_;
-
- # If it's UNC, make sure the glue separator is there, reusing
- # whatever separator is first in the $volume
- $volume .= $1
- if ( $volume =~ m@^([\\/])[\\/][^\\/]+[\\/][^\\/]+\Z(?!\n)@s &&
- $directory =~ m@^[^\\/]@s
- ) ;
-
- $volume .= $directory ;
-
- # If the volume is not just A:, make sure the glue separator is
- # there, reusing whatever separator is first in the $volume if possible.
- if ( $volume !~ m@^[a-zA-Z]:\Z(?!\n)@s &&
- $volume =~ m@[^\\/]\Z(?!\n)@ &&
- $file =~ m@[^\\/]@
- ) {
- $volume =~ m@([\\/])@ ;
- my $sep = $1 ? $1 : '/' ;
- $volume .= $sep ;
- }
-
- $volume .= $file ;
-
- return $volume ;
-}
-
-
-sub abs2rel {
- my($self,$path,$base) = @_;
-
- # Clean up $path
- if ( ! $self->file_name_is_absolute( $path ) ) {
- $path = $self->rel2abs( $path ) ;
- } else {
- $path = $self->canonpath( $path ) ;
- }
-
- # Figure out the effective $base and clean it up.
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd();
- } elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- } else {
- $base = $self->canonpath( $base ) ;
- }
-
- # Split up paths
- my ( $path_volume, $path_directories, $path_file ) = $self->splitpath( $path, 1 ) ;
- my ( $base_volume, $base_directories ) = $self->splitpath( $base, 1 ) ;
- return $path unless $path_volume eq $base_volume;
-
- # Now, remove all leading components that are the same
- my @pathchunks = $self->splitdir( $path_directories );
- my @basechunks = $self->splitdir( $base_directories );
-
- while ( @pathchunks &&
- @basechunks &&
- lc( $pathchunks[0] ) eq lc( $basechunks[0] )
- ) {
- shift @pathchunks ;
- shift @basechunks ;
- }
-
- # No need to catdir, we know these are well formed.
- $path_directories = CORE::join( '/', @pathchunks );
- $base_directories = CORE::join( '/', @basechunks );
-
- # $base_directories now contains the directories the resulting relative
- # path must ascend out of before it can descend to $path_directory. So,
- # replace all names with $parentDir
-
- #FA Need to replace between backslashes...
- $base_directories =~ s|[^\\/]+|..|g ;
-
- # Glue the two together, using a separator if necessary, and preventing an
- # empty result.
-
- #FA Must check that new directories are not empty.
- if ( $path_directories ne '' && $base_directories ne '' ) {
- $path_directories = "$base_directories/$path_directories" ;
- } else {
- $path_directories = "$base_directories$path_directories" ;
- }
-
- return $self->canonpath(
- $self->catpath( "", $path_directories, $path_file )
- ) ;
-}
-
-
-sub rel2abs {
- my ($self,$path,$base ) = @_;
-
- if ( ! $self->file_name_is_absolute( $path ) ) {
-
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd();
- }
- elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- }
- else {
- $base = $self->canonpath( $base ) ;
- }
-
- my ( $path_directories, $path_file ) =
- ($self->splitpath( $path, 1 ))[1,2] ;
-
- my ( $base_volume, $base_directories ) =
- $self->splitpath( $base, 1 ) ;
-
- $path = $self->catpath(
- $base_volume,
- $self->catdir( $base_directories, $path_directories ),
- $path_file
- ) ;
- }
-
- return $self->canonpath( $path ) ;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-File::Spec::OS2 - methods for OS/2 file specs
-
-=head1 SYNOPSIS
-
- require File::Spec::OS2; # Done internally by File::Spec if needed
-
-=head1 DESCRIPTION
-
-See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
-implementation of these methods, not the semantics.
-
-Amongst the changes made for OS/2 are...
-
-=over 4
-
-=item tmpdir
-
-Modifies the list of places temp directory information is looked for.
-
- $ENV{TMPDIR}
- $ENV{TEMP}
- $ENV{TMP}
- /tmp
- /
-
-=item splitpath
-
-Volumes can be drive letters or UNC sharenames (\\server\share).
-
-=back
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Unix.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Unix.pm
deleted file mode 100644
index e8dbaa93328..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Unix.pm
+++ /dev/null
@@ -1,517 +0,0 @@
-package File::Spec::Unix;
-
-use strict;
-use vars qw($VERSION);
-
-$VERSION = '3.2701';
-
-=head1 NAME
-
-File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules
-
-=head1 SYNOPSIS
-
- require File::Spec::Unix; # Done automatically by File::Spec
-
-=head1 DESCRIPTION
-
-Methods for manipulating file specifications. Other File::Spec
-modules, such as File::Spec::Mac, inherit from File::Spec::Unix and
-override specific methods.
-
-=head1 METHODS
-
-=over 2
-
-=item canonpath()
-
-No physical check on the filesystem, but a logical cleanup of a
-path. On UNIX eliminates successive slashes and successive "/.".
-
- $cpath = File::Spec->canonpath( $path ) ;
-
-Note that this does *not* collapse F<x/../y> sections into F<y>. This
-is by design. If F</foo> on your system is a symlink to F</bar/baz>,
-then F</foo/../quux> is actually F</bar/quux>, not F</quux> as a naive
-F<../>-removal would give you. If you want to do this kind of
-processing, you probably want C<Cwd>'s C<realpath()> function to
-actually traverse the filesystem cleaning up paths like this.
-
-=cut
-
-sub canonpath {
- my ($self,$path) = @_;
- return unless defined $path;
-
- # Handle POSIX-style node names beginning with double slash (qnx, nto)
- # (POSIX says: "a pathname that begins with two successive slashes
- # may be interpreted in an implementation-defined manner, although
- # more than two leading slashes shall be treated as a single slash.")
- my $node = '';
- my $double_slashes_special = $^O eq 'qnx' || $^O eq 'nto';
- if ( $double_slashes_special && $path =~ s{^(//[^/]+)(?:/|\z)}{/}s ) {
- $node = $1;
- }
- # This used to be
- # $path =~ s|/+|/|g unless ($^O eq 'cygwin');
- # but that made tests 29, 30, 35, 46, and 213 (as of #13272) to fail
- # (Mainly because trailing "" directories didn't get stripped).
- # Why would cygwin avoid collapsing multiple slashes into one? --jhi
- $path =~ s|/{2,}|/|g; # xx////xx -> xx/xx
- $path =~ s{(?:/\.)+(?:/|\z)}{/}g; # xx/././xx -> xx/xx
- $path =~ s|^(?:\./)+||s unless $path eq "./"; # ./xx -> xx
- $path =~ s|^/(?:\.\./)+|/|; # /../../xx -> xx
- $path =~ s|^/\.\.$|/|; # /.. -> /
- $path =~ s|/\z|| unless $path eq "/"; # xx/ -> xx
- return "$node$path";
-}
-
-=item catdir()
-
-Concatenate two or more directory names to form a complete path ending
-with a directory. But remove the trailing slash from the resulting
-string, because it doesn't look good, isn't necessary and confuses
-OS2. Of course, if this is the root directory, don't cut off the
-trailing slash :-)
-
-=cut
-
-sub catdir {
- my $self = shift;
-
- $self->canonpath(join('/', @_, '')); # '' because need a trailing '/'
-}
-
-=item catfile
-
-Concatenate one or more directory names and a filename to form a
-complete path ending with a filename
-
-=cut
-
-sub catfile {
- my $self = shift;
- my $file = $self->canonpath(pop @_);
- return $file unless @_;
- my $dir = $self->catdir(@_);
- $dir .= "/" unless substr($dir,-1) eq "/";
- return $dir.$file;
-}
-
-=item curdir
-
-Returns a string representation of the current directory. "." on UNIX.
-
-=cut
-
-sub curdir () { '.' }
-
-=item devnull
-
-Returns a string representation of the null device. "/dev/null" on UNIX.
-
-=cut
-
-sub devnull () { '/dev/null' }
-
-=item rootdir
-
-Returns a string representation of the root directory. "/" on UNIX.
-
-=cut
-
-sub rootdir () { '/' }
-
-=item tmpdir
-
-Returns a string representation of the first writable directory from
-the following list or the current directory if none from the list are
-writable:
-
- $ENV{TMPDIR}
- /tmp
-
-Since perl 5.8.0, if running under taint mode, and if $ENV{TMPDIR}
-is tainted, it is not used.
-
-=cut
-
-my $tmpdir;
-sub _tmpdir {
- return $tmpdir if defined $tmpdir;
- my $self = shift;
- my @dirlist = @_;
- {
- no strict 'refs';
- if (${"\cTAINT"}) { # Check for taint mode on perl >= 5.8.0
- require Scalar::Util;
- @dirlist = grep { ! Scalar::Util::tainted($_) } @dirlist;
- }
- }
- foreach (@dirlist) {
- next unless defined && -d && -w _;
- $tmpdir = $_;
- last;
- }
- $tmpdir = $self->curdir unless defined $tmpdir;
- $tmpdir = defined $tmpdir && $self->canonpath($tmpdir);
- return $tmpdir;
-}
-
-sub tmpdir {
- return $tmpdir if defined $tmpdir;
- $tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR}, "/tmp" );
-}
-
-=item updir
-
-Returns a string representation of the parent directory. ".." on UNIX.
-
-=cut
-
-sub updir () { '..' }
-
-=item no_upwards
-
-Given a list of file names, strip out those that refer to a parent
-directory. (Does not strip symlinks, only '.', '..', and equivalents.)
-
-=cut
-
-sub no_upwards {
- my $self = shift;
- return grep(!/^\.{1,2}\z/s, @_);
-}
-
-=item case_tolerant
-
-Returns a true or false value indicating, respectively, that alphabetic
-is not or is significant when comparing file specifications.
-
-=cut
-
-sub case_tolerant () { 0 }
-
-=item file_name_is_absolute
-
-Takes as argument a path and returns true if it is an absolute path.
-
-This does not consult the local filesystem on Unix, Win32, OS/2 or Mac
-OS (Classic). It does consult the working environment for VMS (see
-L<File::Spec::VMS/file_name_is_absolute>).
-
-=cut
-
-sub file_name_is_absolute {
- my ($self,$file) = @_;
- return scalar($file =~ m:^/:s);
-}
-
-=item path
-
-Takes no argument, returns the environment variable PATH as an array.
-
-=cut
-
-sub path {
- return () unless exists $ENV{PATH};
- my @path = split(':', $ENV{PATH});
- foreach (@path) { $_ = '.' if $_ eq '' }
- return @path;
-}
-
-=item join
-
-join is the same as catfile.
-
-=cut
-
-sub join {
- my $self = shift;
- return $self->catfile(@_);
-}
-
-=item splitpath
-
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
-
-Splits a path into volume, directory, and filename portions. On systems
-with no concept of volume, returns '' for volume.
-
-For systems with no syntax differentiating filenames from directories,
-assumes that the last file is a path unless $no_file is true or a
-trailing separator or /. or /.. is present. On Unix this means that $no_file
-true makes this return ( '', $path, '' ).
-
-The directory portion may or may not be returned with a trailing '/'.
-
-The results can be passed to L</catpath()> to get back a path equivalent to
-(usually identical to) the original path.
-
-=cut
-
-sub splitpath {
- my ($self,$path, $nofile) = @_;
-
- my ($volume,$directory,$file) = ('','','');
-
- if ( $nofile ) {
- $directory = $path;
- }
- else {
- $path =~ m|^ ( (?: .* / (?: \.\.?\z )? )? ) ([^/]*) |xs;
- $directory = $1;
- $file = $2;
- }
-
- return ($volume,$directory,$file);
-}
-
-
-=item splitdir
-
-The opposite of L</catdir()>.
-
- @dirs = File::Spec->splitdir( $directories );
-
-$directories must be only the directory portion of the path on systems
-that have the concept of a volume or that have path syntax that differentiates
-files from directories.
-
-Unlike just splitting the directories on the separator, empty
-directory names (C<''>) can be returned, because these are significant
-on some OSs.
-
-On Unix,
-
- File::Spec->splitdir( "/a/b//c/" );
-
-Yields:
-
- ( '', 'a', 'b', '', 'c', '' )
-
-=cut
-
-sub splitdir {
- return split m|/|, $_[1], -1; # Preserve trailing fields
-}
-
-
-=item catpath()
-
-Takes volume, directory and file portions and returns an entire path. Under
-Unix, $volume is ignored, and directory and file are concatenated. A '/' is
-inserted if needed (though if the directory portion doesn't start with
-'/' it is not added). On other OSs, $volume is significant.
-
-=cut
-
-sub catpath {
- my ($self,$volume,$directory,$file) = @_;
-
- if ( $directory ne '' &&
- $file ne '' &&
- substr( $directory, -1 ) ne '/' &&
- substr( $file, 0, 1 ) ne '/'
- ) {
- $directory .= "/$file" ;
- }
- else {
- $directory .= $file ;
- }
-
- return $directory ;
-}
-
-=item abs2rel
-
-Takes a destination path and an optional base path returns a relative path
-from the base path to the destination path:
-
- $rel_path = File::Spec->abs2rel( $path ) ;
- $rel_path = File::Spec->abs2rel( $path, $base ) ;
-
-If $base is not present or '', then L<cwd()|Cwd> is used. If $base is
-relative, then it is converted to absolute form using
-L</rel2abs()>. This means that it is taken to be relative to
-L<cwd()|Cwd>.
-
-On systems that have a grammar that indicates filenames, this ignores the
-$base filename. Otherwise all path components are assumed to be
-directories.
-
-If $path is relative, it is converted to absolute form using L</rel2abs()>.
-This means that it is taken to be relative to L<cwd()|Cwd>.
-
-No checks against the filesystem are made. On VMS, there is
-interaction with the working environment, as logicals and
-macros are expanded.
-
-Based on code written by Shigio Yamaguchi.
-
-=cut
-
-sub abs2rel {
- my($self,$path,$base) = @_;
- $base = $self->_cwd() unless defined $base and length $base;
-
- ($path, $base) = map $self->canonpath($_), $path, $base;
-
- if (grep $self->file_name_is_absolute($_), $path, $base) {
- ($path, $base) = map $self->rel2abs($_), $path, $base;
- }
- else {
- # save a couple of cwd()s if both paths are relative
- ($path, $base) = map $self->catdir('/', $_), $path, $base;
- }
-
- my ($path_volume) = $self->splitpath($path, 1);
- my ($base_volume) = $self->splitpath($base, 1);
-
- # Can't relativize across volumes
- return $path unless $path_volume eq $base_volume;
-
- my $path_directories = ($self->splitpath($path, 1))[1];
- my $base_directories = ($self->splitpath($base, 1))[1];
-
- # For UNC paths, the user might give a volume like //foo/bar that
- # strictly speaking has no directory portion. Treat it as if it
- # had the root directory for that volume.
- if (!length($base_directories) and $self->file_name_is_absolute($base)) {
- $base_directories = $self->rootdir;
- }
-
- # Now, remove all leading components that are the same
- my @pathchunks = $self->splitdir( $path_directories );
- my @basechunks = $self->splitdir( $base_directories );
-
- if ($base_directories eq $self->rootdir) {
- shift @pathchunks;
- return $self->canonpath( $self->catpath('', $self->catdir( @pathchunks ), '') );
- }
-
- while (@pathchunks && @basechunks && $self->_same($pathchunks[0], $basechunks[0])) {
- shift @pathchunks ;
- shift @basechunks ;
- }
- return $self->curdir unless @pathchunks || @basechunks;
-
- # $base now contains the directories the resulting relative path
- # must ascend out of before it can descend to $path_directory.
- my $result_dirs = $self->catdir( ($self->updir) x @basechunks, @pathchunks );
- return $self->canonpath( $self->catpath('', $result_dirs, '') );
-}
-
-sub _same {
- $_[1] eq $_[2];
-}
-
-=item rel2abs()
-
-Converts a relative path to an absolute path.
-
- $abs_path = File::Spec->rel2abs( $path ) ;
- $abs_path = File::Spec->rel2abs( $path, $base ) ;
-
-If $base is not present or '', then L<cwd()|Cwd> is used. If $base is
-relative, then it is converted to absolute form using
-L</rel2abs()>. This means that it is taken to be relative to
-L<cwd()|Cwd>.
-
-On systems that have a grammar that indicates filenames, this ignores
-the $base filename. Otherwise all path components are assumed to be
-directories.
-
-If $path is absolute, it is cleaned up and returned using L</canonpath()>.
-
-No checks against the filesystem are made. On VMS, there is
-interaction with the working environment, as logicals and
-macros are expanded.
-
-Based on code written by Shigio Yamaguchi.
-
-=cut
-
-sub rel2abs {
- my ($self,$path,$base ) = @_;
-
- # Clean up $path
- if ( ! $self->file_name_is_absolute( $path ) ) {
- # Figure out the effective $base and clean it up.
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd();
- }
- elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- }
- else {
- $base = $self->canonpath( $base ) ;
- }
-
- # Glom them together
- $path = $self->catdir( $base, $path ) ;
- }
-
- return $self->canonpath( $path ) ;
-}
-
-=back
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<File::Spec>
-
-=cut
-
-# Internal routine to File::Spec, no point in making this public since
-# it is the standard Cwd interface. Most of the platform-specific
-# File::Spec subclasses use this.
-sub _cwd {
- require Cwd;
- Cwd::getcwd();
-}
-
-
-# Internal method to reduce xx\..\yy -> yy
-sub _collapse {
- my($fs, $path) = @_;
-
- my $updir = $fs->updir;
- my $curdir = $fs->curdir;
-
- my($vol, $dirs, $file) = $fs->splitpath($path);
- my @dirs = $fs->splitdir($dirs);
- pop @dirs if @dirs && $dirs[-1] eq '';
-
- my @collapsed;
- foreach my $dir (@dirs) {
- if( $dir eq $updir and # if we have an updir
- @collapsed and # and something to collapse
- length $collapsed[-1] and # and its not the rootdir
- $collapsed[-1] ne $updir and # nor another updir
- $collapsed[-1] ne $curdir # nor the curdir
- )
- { # then
- pop @collapsed; # collapse
- }
- else { # else
- push @collapsed, $dir; # just hang onto it
- }
- }
-
- return $fs->catpath($vol,
- $fs->catdir(@collapsed),
- $file
- );
-}
-
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/VMS.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/VMS.pm
deleted file mode 100644
index 747a89d4fdb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/VMS.pm
+++ /dev/null
@@ -1,536 +0,0 @@
-package File::Spec::VMS;
-
-use strict;
-use vars qw(@ISA $VERSION);
-require File::Spec::Unix;
-
-$VERSION = '3.2701';
-
-@ISA = qw(File::Spec::Unix);
-
-use File::Basename;
-use VMS::Filespec;
-
-=head1 NAME
-
-File::Spec::VMS - methods for VMS file specs
-
-=head1 SYNOPSIS
-
- require File::Spec::VMS; # Done internally by File::Spec if needed
-
-=head1 DESCRIPTION
-
-See File::Spec::Unix for a documentation of the methods provided
-there. This package overrides the implementation of these methods, not
-the semantics.
-
-=over 4
-
-=item canonpath (override)
-
-Removes redundant portions of file specifications according to VMS syntax.
-
-=cut
-
-sub canonpath {
- my($self,$path) = @_;
-
- return undef unless defined $path;
-
- if ($path =~ m|/|) { # Fake Unix
- my $pathify = $path =~ m|/\Z(?!\n)|;
- $path = $self->SUPER::canonpath($path);
- if ($pathify) { return vmspath($path); }
- else { return vmsify($path); }
- }
- else {
- $path =~ tr/<>/[]/; # < and > ==> [ and ]
- $path =~ s/\]\[\./\.\]\[/g; # ][. ==> .][
- $path =~ s/\[000000\.\]\[/\[/g; # [000000.][ ==> [
- $path =~ s/\[000000\./\[/g; # [000000. ==> [
- $path =~ s/\.\]\[000000\]/\]/g; # .][000000] ==> ]
- $path =~ s/\.\]\[/\./g; # foo.][bar ==> foo.bar
- 1 while ($path =~ s/([\[\.])(-+)\.(-+)([\.\]])/$1$2$3$4/);
- # That loop does the following
- # with any amount of dashes:
- # .-.-. ==> .--.
- # [-.-. ==> [--.
- # .-.-] ==> .--]
- # [-.-] ==> [--]
- 1 while ($path =~ s/([\[\.])[^\]\.]+\.-(-+)([\]\.])/$1$2$3/);
- # That loop does the following
- # with any amount (minimum 2)
- # of dashes:
- # .foo.--. ==> .-.
- # .foo.--] ==> .-]
- # [foo.--. ==> [-.
- # [foo.--] ==> [-]
- #
- # And then, the remaining cases
- $path =~ s/\[\.-/[-/; # [.- ==> [-
- $path =~ s/\.[^\]\.]+\.-\./\./g; # .foo.-. ==> .
- $path =~ s/\[[^\]\.]+\.-\./\[/g; # [foo.-. ==> [
- $path =~ s/\.[^\]\.]+\.-\]/\]/g; # .foo.-] ==> ]
- $path =~ s/\[[^\]\.]+\.-\]/\[000000\]/g;# [foo.-] ==> [000000]
- $path =~ s/\[\]// unless $path eq '[]'; # [] ==>
- return $path;
- }
-}
-
-=item catdir (override)
-
-Concatenates a list of file specifications, and returns the result as a
-VMS-syntax directory specification. No check is made for "impossible"
-cases (e.g. elements other than the first being absolute filespecs).
-
-=cut
-
-sub catdir {
- my $self = shift;
- my $dir = pop;
- my @dirs = grep {defined() && length()} @_;
-
- my $rslt;
- if (@dirs) {
- my $path = (@dirs == 1 ? $dirs[0] : $self->catdir(@dirs));
- my ($spath,$sdir) = ($path,$dir);
- $spath =~ s/\.dir\Z(?!\n)//; $sdir =~ s/\.dir\Z(?!\n)//;
- $sdir = $self->eliminate_macros($sdir) unless $sdir =~ /^[\w\-]+\Z(?!\n)/s;
- $rslt = $self->fixpath($self->eliminate_macros($spath)."/$sdir",1);
-
- # Special case for VMS absolute directory specs: these will have had device
- # prepended during trip through Unix syntax in eliminate_macros(), since
- # Unix syntax has no way to express "absolute from the top of this device's
- # directory tree".
- if ($spath =~ /^[\[<][^.\-]/s) { $rslt =~ s/^[^\[<]+//s; }
- }
- else {
- if (not defined $dir or not length $dir) { $rslt = ''; }
- elsif ($dir =~ /^\$\([^\)]+\)\Z(?!\n)/s) { $rslt = $dir; }
- else { $rslt = vmspath($dir); }
- }
- return $self->canonpath($rslt);
-}
-
-=item catfile (override)
-
-Concatenates a list of file specifications, and returns the result as a
-VMS-syntax file specification.
-
-=cut
-
-sub catfile {
- my $self = shift;
- my $file = $self->canonpath(pop());
- my @files = grep {defined() && length()} @_;
-
- my $rslt;
- if (@files) {
- my $path = (@files == 1 ? $files[0] : $self->catdir(@files));
- my $spath = $path;
- $spath =~ s/\.dir\Z(?!\n)//;
- if ($spath =~ /^[^\)\]\/:>]+\)\Z(?!\n)/s && basename($file) eq $file) {
- $rslt = "$spath$file";
- }
- else {
- $rslt = $self->eliminate_macros($spath);
- $rslt = vmsify($rslt.((defined $rslt) && ($rslt ne '') ? '/' : '').unixify($file));
- }
- }
- else { $rslt = (defined($file) && length($file)) ? vmsify($file) : ''; }
- return $self->canonpath($rslt);
-}
-
-
-=item curdir (override)
-
-Returns a string representation of the current directory: '[]'
-
-=cut
-
-sub curdir {
- return '[]';
-}
-
-=item devnull (override)
-
-Returns a string representation of the null device: '_NLA0:'
-
-=cut
-
-sub devnull {
- return "_NLA0:";
-}
-
-=item rootdir (override)
-
-Returns a string representation of the root directory: 'SYS$DISK:[000000]'
-
-=cut
-
-sub rootdir {
- return 'SYS$DISK:[000000]';
-}
-
-=item tmpdir (override)
-
-Returns a string representation of the first writable directory
-from the following list or '' if none are writable:
-
- sys$scratch:
- $ENV{TMPDIR}
-
-Since perl 5.8.0, if running under taint mode, and if $ENV{TMPDIR}
-is tainted, it is not used.
-
-=cut
-
-my $tmpdir;
-sub tmpdir {
- return $tmpdir if defined $tmpdir;
- $tmpdir = $_[0]->_tmpdir( 'sys$scratch:', $ENV{TMPDIR} );
-}
-
-=item updir (override)
-
-Returns a string representation of the parent directory: '[-]'
-
-=cut
-
-sub updir {
- return '[-]';
-}
-
-=item case_tolerant (override)
-
-VMS file specification syntax is case-tolerant.
-
-=cut
-
-sub case_tolerant {
- return 1;
-}
-
-=item path (override)
-
-Translate logical name DCL$PATH as a searchlist, rather than trying
-to C<split> string value of C<$ENV{'PATH'}>.
-
-=cut
-
-sub path {
- my (@dirs,$dir,$i);
- while ($dir = $ENV{'DCL$PATH;' . $i++}) { push(@dirs,$dir); }
- return @dirs;
-}
-
-=item file_name_is_absolute (override)
-
-Checks for VMS directory spec as well as Unix separators.
-
-=cut
-
-sub file_name_is_absolute {
- my ($self,$file) = @_;
- # If it's a logical name, expand it.
- $file = $ENV{$file} while $file =~ /^[\w\$\-]+\Z(?!\n)/s && $ENV{$file};
- return scalar($file =~ m!^/!s ||
- $file =~ m![<\[][^.\-\]>]! ||
- $file =~ /:[^<\[]/);
-}
-
-=item splitpath (override)
-
-Splits using VMS syntax.
-
-=cut
-
-sub splitpath {
- my($self,$path) = @_;
- my($dev,$dir,$file) = ('','','');
-
- vmsify($path) =~ /(.+:)?([\[<].*[\]>])?(.*)/s;
- return ($1 || '',$2 || '',$3);
-}
-
-=item splitdir (override)
-
-Split dirspec using VMS syntax.
-
-=cut
-
-sub splitdir {
- my($self,$dirspec) = @_;
- my @dirs = ();
- return @dirs if ( (!defined $dirspec) || ('' eq $dirspec) );
- $dirspec =~ tr/<>/[]/; # < and > ==> [ and ]
- $dirspec =~ s/\]\[\./\.\]\[/g; # ][. ==> .][
- $dirspec =~ s/\[000000\.\]\[/\[/g; # [000000.][ ==> [
- $dirspec =~ s/\[000000\./\[/g; # [000000. ==> [
- $dirspec =~ s/\.\]\[000000\]/\]/g; # .][000000] ==> ]
- $dirspec =~ s/\.\]\[/\./g; # foo.][bar ==> foo.bar
- while ($dirspec =~ s/(^|[\[\<\.])\-(\-+)($|[\]\>\.])/$1-.$2$3/g) {}
- # That loop does the following
- # with any amount of dashes:
- # .--. ==> .-.-.
- # [--. ==> [-.-.
- # .--] ==> .-.-]
- # [--] ==> [-.-]
- $dirspec = "[$dirspec]" unless $dirspec =~ /[\[<]/; # make legal
- $dirspec =~ s/^(\[|<)\./$1/;
- @dirs = split /(?<!\^)\./, vmspath($dirspec);
- $dirs[0] =~ s/^[\[<]//s; $dirs[-1] =~ s/[\]>]\Z(?!\n)//s;
- @dirs;
-}
-
-
-=item catpath (override)
-
-Construct a complete filespec using VMS syntax
-
-=cut
-
-sub catpath {
- my($self,$dev,$dir,$file) = @_;
-
- # We look for a volume in $dev, then in $dir, but not both
- my ($dir_volume, $dir_dir, $dir_file) = $self->splitpath($dir);
- $dev = $dir_volume unless length $dev;
- $dir = length $dir_file ? $self->catfile($dir_dir, $dir_file) : $dir_dir;
-
- if ($dev =~ m|^/+([^/]+)|) { $dev = "$1:"; }
- else { $dev .= ':' unless $dev eq '' or $dev =~ /:\Z(?!\n)/; }
- if (length($dev) or length($dir)) {
- $dir = "[$dir]" unless $dir =~ /[\[<\/]/;
- $dir = vmspath($dir);
- }
- "$dev$dir$file";
-}
-
-=item abs2rel (override)
-
-Use VMS syntax when converting filespecs.
-
-=cut
-
-sub abs2rel {
- my $self = shift;
- return vmspath(File::Spec::Unix::abs2rel( $self, @_ ))
- if grep m{/}, @_;
-
- my($path,$base) = @_;
- $base = $self->_cwd() unless defined $base and length $base;
-
- for ($path, $base) { $_ = $self->canonpath($_) }
-
- # Are we even starting $path on the same (node::)device as $base? Note that
- # logical paths or nodename differences may be on the "same device"
- # but the comparison that ignores device differences so as to concatenate
- # [---] up directory specs is not even a good idea in cases where there is
- # a logical path difference between $path and $base nodename and/or device.
- # Hence we fall back to returning the absolute $path spec
- # if there is a case blind device (or node) difference of any sort
- # and we do not even try to call $parse() or consult %ENV for $trnlnm()
- # (this module needs to run on non VMS platforms after all).
-
- my ($path_volume, $path_directories, $path_file) = $self->splitpath($path);
- my ($base_volume, $base_directories, $base_file) = $self->splitpath($base);
- return $path unless lc($path_volume) eq lc($base_volume);
-
- for ($path, $base) { $_ = $self->rel2abs($_) }
-
- # Now, remove all leading components that are the same
- my @pathchunks = $self->splitdir( $path_directories );
- my $pathchunks = @pathchunks;
- unshift(@pathchunks,'000000') unless $pathchunks[0] eq '000000';
- my @basechunks = $self->splitdir( $base_directories );
- my $basechunks = @basechunks;
- unshift(@basechunks,'000000') unless $basechunks[0] eq '000000';
-
- while ( @pathchunks &&
- @basechunks &&
- lc( $pathchunks[0] ) eq lc( $basechunks[0] )
- ) {
- shift @pathchunks ;
- shift @basechunks ;
- }
-
- # @basechunks now contains the directories to climb out of,
- # @pathchunks now has the directories to descend in to.
- if ((@basechunks > 0) || ($basechunks != $pathchunks)) {
- $path_directories = join '.', ('-' x @basechunks, @pathchunks) ;
- }
- else {
- $path_directories = join '.', @pathchunks;
- }
- $path_directories = '['.$path_directories.']';
- return $self->canonpath( $self->catpath( '', $path_directories, $path_file ) ) ;
-}
-
-
-=item rel2abs (override)
-
-Use VMS syntax when converting filespecs.
-
-=cut
-
-sub rel2abs {
- my $self = shift ;
- my ($path,$base ) = @_;
- return undef unless defined $path;
- if ($path =~ m/\//) {
- $path = ( -d $path || $path =~ m/\/\z/ # educated guessing about
- ? vmspath($path) # whether it's a directory
- : vmsify($path) );
- }
- $base = vmspath($base) if defined $base && $base =~ m/\//;
- # Clean up and split up $path
- if ( ! $self->file_name_is_absolute( $path ) ) {
- # Figure out the effective $base and clean it up.
- if ( !defined( $base ) || $base eq '' ) {
- $base = $self->_cwd;
- }
- elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- }
- else {
- $base = $self->canonpath( $base ) ;
- }
-
- # Split up paths
- my ( $path_directories, $path_file ) =
- ($self->splitpath( $path ))[1,2] ;
-
- my ( $base_volume, $base_directories ) =
- $self->splitpath( $base ) ;
-
- $path_directories = '' if $path_directories eq '[]' ||
- $path_directories eq '<>';
- my $sep = '' ;
- $sep = '.'
- if ( $base_directories =~ m{[^.\]>]\Z(?!\n)} &&
- $path_directories =~ m{^[^.\[<]}s
- ) ;
- $base_directories = "$base_directories$sep$path_directories";
- $base_directories =~ s{\.?[\]>][\[<]\.?}{.};
-
- $path = $self->catpath( $base_volume, $base_directories, $path_file );
- }
-
- return $self->canonpath( $path ) ;
-}
-
-
-# eliminate_macros() and fixpath() are MakeMaker-specific methods
-# which are used inside catfile() and catdir(). MakeMaker has its own
-# copies as of 6.06_03 which are the canonical ones. We leave these
-# here, in peace, so that File::Spec continues to work with MakeMakers
-# prior to 6.06_03.
-#
-# Please consider these two methods deprecated. Do not patch them,
-# patch the ones in ExtUtils::MM_VMS instead.
-sub eliminate_macros {
- my($self,$path) = @_;
- return '' unless (defined $path) && ($path ne '');
- $self = {} unless ref $self;
-
- if ($path =~ /\s/) {
- return join ' ', map { $self->eliminate_macros($_) } split /\s+/, $path;
- }
-
- my($npath) = unixify($path);
- my($complex) = 0;
- my($head,$macro,$tail);
-
- # perform m##g in scalar context so it acts as an iterator
- while ($npath =~ m#(.*?)\$\((\S+?)\)(.*)#gs) {
- if ($self->{$2}) {
- ($head,$macro,$tail) = ($1,$2,$3);
- if (ref $self->{$macro}) {
- if (ref $self->{$macro} eq 'ARRAY') {
- $macro = join ' ', @{$self->{$macro}};
- }
- else {
- print "Note: can't expand macro \$($macro) containing ",ref($self->{$macro}),
- "\n\t(using MMK-specific deferred substitutuon; MMS will break)\n";
- $macro = "\cB$macro\cB";
- $complex = 1;
- }
- }
- else { ($macro = unixify($self->{$macro})) =~ s#/\Z(?!\n)##; }
- $npath = "$head$macro$tail";
- }
- }
- if ($complex) { $npath =~ s#\cB(.*?)\cB#\${$1}#gs; }
- $npath;
-}
-
-# Deprecated. See the note above for eliminate_macros().
-sub fixpath {
- my($self,$path,$force_path) = @_;
- return '' unless $path;
- $self = bless {} unless ref $self;
- my($fixedpath,$prefix,$name);
-
- if ($path =~ /\s/) {
- return join ' ',
- map { $self->fixpath($_,$force_path) }
- split /\s+/, $path;
- }
-
- if ($path =~ m#^\$\([^\)]+\)\Z(?!\n)#s || $path =~ m#[/:>\]]#) {
- if ($force_path or $path =~ /(?:DIR\)|\])\Z(?!\n)/) {
- $fixedpath = vmspath($self->eliminate_macros($path));
- }
- else {
- $fixedpath = vmsify($self->eliminate_macros($path));
- }
- }
- elsif ((($prefix,$name) = ($path =~ m#^\$\(([^\)]+)\)(.+)#s)) && $self->{$prefix}) {
- my($vmspre) = $self->eliminate_macros("\$($prefix)");
- # is it a dir or just a name?
- $vmspre = ($vmspre =~ m|/| or $prefix =~ /DIR\Z(?!\n)/) ? vmspath($vmspre) : '';
- $fixedpath = ($vmspre ? $vmspre : $self->{$prefix}) . $name;
- $fixedpath = vmspath($fixedpath) if $force_path;
- }
- else {
- $fixedpath = $path;
- $fixedpath = vmspath($fixedpath) if $force_path;
- }
- # No hints, so we try to guess
- if (!defined($force_path) and $fixedpath !~ /[:>(.\]]/) {
- $fixedpath = vmspath($fixedpath) if -d $fixedpath;
- }
-
- # Trim off root dirname if it's had other dirs inserted in front of it.
- $fixedpath =~ s/\.000000([\]>])/$1/;
- # Special case for VMS absolute directory specs: these will have had device
- # prepended during trip through Unix syntax in eliminate_macros(), since
- # Unix syntax has no way to express "absolute from the top of this device's
- # directory tree".
- if ($path =~ /^[\[>][^.\-]/) { $fixedpath =~ s/^[^\[<]+//; }
- $fixedpath;
-}
-
-
-=back
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004 by the Perl 5 Porters. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
-implementation of these methods, not the semantics.
-
-An explanation of VMS file specs can be found at
-L<"http://h71000.www7.hp.com/doc/731FINAL/4506/4506pro_014.html#apps_locating_naming_files">.
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Win32.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Win32.pm
deleted file mode 100644
index 9b9034039fe..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Win32.pm
+++ /dev/null
@@ -1,442 +0,0 @@
-package File::Spec::Win32;
-
-use strict;
-
-use vars qw(@ISA $VERSION);
-require File::Spec::Unix;
-
-$VERSION = '3.2701';
-
-@ISA = qw(File::Spec::Unix);
-
-# Some regexes we use for path splitting
-my $DRIVE_RX = '[a-zA-Z]:';
-my $UNC_RX = '(?:\\\\\\\\|//)[^\\\\/]+[\\\\/][^\\\\/]+';
-my $VOL_RX = "(?:$DRIVE_RX|$UNC_RX)";
-
-
-=head1 NAME
-
-File::Spec::Win32 - methods for Win32 file specs
-
-=head1 SYNOPSIS
-
- require File::Spec::Win32; # Done internally by File::Spec if needed
-
-=head1 DESCRIPTION
-
-See File::Spec::Unix for a documentation of the methods provided
-there. This package overrides the implementation of these methods, not
-the semantics.
-
-=over 4
-
-=item devnull
-
-Returns a string representation of the null device.
-
-=cut
-
-sub devnull {
- return "nul";
-}
-
-sub rootdir () { '\\' }
-
-
-=item tmpdir
-
-Returns a string representation of the first existing directory
-from the following list:
-
- $ENV{TMPDIR}
- $ENV{TEMP}
- $ENV{TMP}
- SYS:/temp
- C:\system\temp
- C:/temp
- /tmp
- /
-
-The SYS:/temp is preferred in Novell NetWare and the C:\system\temp
-for Symbian (the File::Spec::Win32 is used also for those platforms).
-
-Since Perl 5.8.0, if running under taint mode, and if the environment
-variables are tainted, they are not used.
-
-=cut
-
-my $tmpdir;
-sub tmpdir {
- return $tmpdir if defined $tmpdir;
- $tmpdir = $_[0]->_tmpdir( map( $ENV{$_}, qw(TMPDIR TEMP TMP) ),
- 'SYS:/temp',
- 'C:\system\temp',
- 'C:/temp',
- '/tmp',
- '/' );
-}
-
-=item case_tolerant
-
-MSWin32 case-tolerance depends on GetVolumeInformation() $ouFsFlags == FS_CASE_SENSITIVE,
-indicating the case significance when comparing file specifications.
-Since XP FS_CASE_SENSITIVE is effectively disabled for the NT subsubsystem.
-See http://cygwin.com/ml/cygwin/2007-07/msg00891.html
-Default: 1
-
-=cut
-
-sub case_tolerant () {
- eval { require Win32API::File; } or return 1;
- my $drive = shift || "C:";
- my $osFsType = "\0"x256;
- my $osVolName = "\0"x256;
- my $ouFsFlags = 0;
- Win32API::File::GetVolumeInformation($drive, $osVolName, 256, [], [], $ouFsFlags, $osFsType, 256 );
- if ($ouFsFlags & Win32API::File::FS_CASE_SENSITIVE()) { return 0; }
- else { return 1; }
-}
-
-=item file_name_is_absolute
-
-As of right now, this returns 2 if the path is absolute with a
-volume, 1 if it's absolute with no volume, 0 otherwise.
-
-=cut
-
-sub file_name_is_absolute {
-
- my ($self,$file) = @_;
-
- if ($file =~ m{^($VOL_RX)}o) {
- my $vol = $1;
- return ($vol =~ m{^$UNC_RX}o ? 2
- : $file =~ m{^$DRIVE_RX[\\/]}o ? 2
- : 0);
- }
- return $file =~ m{^[\\/]} ? 1 : 0;
-}
-
-=item catfile
-
-Concatenate one or more directory names and a filename to form a
-complete path ending with a filename
-
-=cut
-
-sub catfile {
- shift;
-
- # Legacy / compatibility support
- #
- shift, return _canon_cat( "/", @_ )
- if $_[0] eq "";
-
- # Compatibility with File::Spec <= 3.26:
- # catfile('A:', 'foo') should return 'A:\foo'.
- return _canon_cat( ($_[0].'\\'), @_[1..$#_] )
- if $_[0] =~ m{^$DRIVE_RX\z}o;
-
- return _canon_cat( @_ );
-}
-
-sub catdir {
- shift;
-
- # Legacy / compatibility support
- #
- return ""
- unless @_;
- shift, return _canon_cat( "/", @_ )
- if $_[0] eq "";
-
- # Compatibility with File::Spec <= 3.26:
- # catdir('A:', 'foo') should return 'A:\foo'.
- return _canon_cat( ($_[0].'\\'), @_[1..$#_] )
- if $_[0] =~ m{^$DRIVE_RX\z}o;
-
- return _canon_cat( @_ );
-}
-
-sub path {
- my @path = split(';', $ENV{PATH});
- s/"//g for @path;
- @path = grep length, @path;
- unshift(@path, ".");
- return @path;
-}
-
-=item canonpath
-
-No physical check on the filesystem, but a logical cleanup of a
-path. On UNIX eliminated successive slashes and successive "/.".
-On Win32 makes
-
- dir1\dir2\dir3\..\..\dir4 -> \dir\dir4 and even
- dir1\dir2\dir3\...\dir4 -> \dir\dir4
-
-=cut
-
-sub canonpath {
- # Legacy / compatibility support
- #
- return $_[1] if !defined($_[1]) or $_[1] eq '';
- return _canon_cat( $_[1] );
-}
-
-=item splitpath
-
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
-
-Splits a path into volume, directory, and filename portions. Assumes that
-the last file is a path unless the path ends in '\\', '\\.', '\\..'
-or $no_file is true. On Win32 this means that $no_file true makes this return
-( $volume, $path, '' ).
-
-Separators accepted are \ and /.
-
-Volumes can be drive letters or UNC sharenames (\\server\share).
-
-The results can be passed to L</catpath> to get back a path equivalent to
-(usually identical to) the original path.
-
-=cut
-
-sub splitpath {
- my ($self,$path, $nofile) = @_;
- my ($volume,$directory,$file) = ('','','');
- if ( $nofile ) {
- $path =~
- m{^ ( $VOL_RX ? ) (.*) }sox;
- $volume = $1;
- $directory = $2;
- }
- else {
- $path =~
- m{^ ( $VOL_RX ? )
- ( (?:.*[\\/](?:\.\.?\Z(?!\n))?)? )
- (.*)
- }sox;
- $volume = $1;
- $directory = $2;
- $file = $3;
- }
-
- return ($volume,$directory,$file);
-}
-
-
-=item splitdir
-
-The opposite of L<catdir()|File::Spec/catdir()>.
-
- @dirs = File::Spec->splitdir( $directories );
-
-$directories must be only the directory portion of the path on systems
-that have the concept of a volume or that have path syntax that differentiates
-files from directories.
-
-Unlike just splitting the directories on the separator, leading empty and
-trailing directory entries can be returned, because these are significant
-on some OSs. So,
-
- File::Spec->splitdir( "/a/b/c" );
-
-Yields:
-
- ( '', 'a', 'b', '', 'c', '' )
-
-=cut
-
-sub splitdir {
- my ($self,$directories) = @_ ;
- #
- # split() likes to forget about trailing null fields, so here we
- # check to be sure that there will not be any before handling the
- # simple case.
- #
- if ( $directories !~ m|[\\/]\Z(?!\n)| ) {
- return split( m|[\\/]|, $directories );
- }
- else {
- #
- # since there was a trailing separator, add a file name to the end,
- # then do the split, then replace it with ''.
- #
- my( @directories )= split( m|[\\/]|, "${directories}dummy" ) ;
- $directories[ $#directories ]= '' ;
- return @directories ;
- }
-}
-
-
-=item catpath
-
-Takes volume, directory and file portions and returns an entire path. Under
-Unix, $volume is ignored, and this is just like catfile(). On other OSs,
-the $volume become significant.
-
-=cut
-
-sub catpath {
- my ($self,$volume,$directory,$file) = @_;
-
- # If it's UNC, make sure the glue separator is there, reusing
- # whatever separator is first in the $volume
- my $v;
- $volume .= $v
- if ( (($v) = $volume =~ m@^([\\/])[\\/][^\\/]+[\\/][^\\/]+\Z(?!\n)@s) &&
- $directory =~ m@^[^\\/]@s
- ) ;
-
- $volume .= $directory ;
-
- # If the volume is not just A:, make sure the glue separator is
- # there, reusing whatever separator is first in the $volume if possible.
- if ( $volume !~ m@^[a-zA-Z]:\Z(?!\n)@s &&
- $volume =~ m@[^\\/]\Z(?!\n)@ &&
- $file =~ m@[^\\/]@
- ) {
- $volume =~ m@([\\/])@ ;
- my $sep = $1 ? $1 : '\\' ;
- $volume .= $sep ;
- }
-
- $volume .= $file ;
-
- return $volume ;
-}
-
-sub _same {
- lc($_[1]) eq lc($_[2]);
-}
-
-sub rel2abs {
- my ($self,$path,$base ) = @_;
-
- my $is_abs = $self->file_name_is_absolute($path);
-
- # Check for volume (should probably document the '2' thing...)
- return $self->canonpath( $path ) if $is_abs == 2;
-
- if ($is_abs) {
- # It's missing a volume, add one
- my $vol = ($self->splitpath( $self->_cwd() ))[0];
- return $self->canonpath( $vol . $path );
- }
-
- if ( !defined( $base ) || $base eq '' ) {
- require Cwd ;
- $base = Cwd::getdcwd( ($self->splitpath( $path ))[0] ) if defined &Cwd::getdcwd ;
- $base = $self->_cwd() unless defined $base ;
- }
- elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
- }
- else {
- $base = $self->canonpath( $base ) ;
- }
-
- my ( $path_directories, $path_file ) =
- ($self->splitpath( $path, 1 ))[1,2] ;
-
- my ( $base_volume, $base_directories ) =
- $self->splitpath( $base, 1 ) ;
-
- $path = $self->catpath(
- $base_volume,
- $self->catdir( $base_directories, $path_directories ),
- $path_file
- ) ;
-
- return $self->canonpath( $path ) ;
-}
-
-=back
-
-=head2 Note For File::Spec::Win32 Maintainers
-
-Novell NetWare inherits its File::Spec behaviour from File::Spec::Win32.
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004,2007 by the Perl 5 Porters. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-See L<File::Spec> and L<File::Spec::Unix>. This package overrides the
-implementation of these methods, not the semantics.
-
-=cut
-
-
-sub _canon_cat(@) # @path -> path
-{
- my $first = shift;
- my $volume = $first =~ s{ \A ([A-Za-z]:) ([\\/]?) }{}x # drive letter
- ? ucfirst( $1 ).( $2 ? "\\" : "" )
- : $first =~ s{ \A (?:\\\\|//) ([^\\/]+)
- (?: [\\/] ([^\\/]+) )?
- [\\/]? }{}xs # UNC volume
- ? "\\\\$1".( defined $2 ? "\\$2" : "" )."\\"
- : $first =~ s{ \A [\\/] }{}x # root dir
- ? "\\"
- : "";
- my $path = join "\\", $first, @_;
-
- $path =~ tr#\\/#\\\\#s; # xx/yy --> xx\yy & xx\\yy --> xx\yy
-
- # xx/././yy --> xx/yy
- $path =~ s{(?:
- (?:\A|\\) # at begin or after a slash
- \.
- (?:\\\.)* # and more
- (?:\\|\z) # at end or followed by slash
- )+ # performance boost -- I do not know why
- }{\\}gx;
-
- # XXX I do not know whether more dots are supported by the OS supporting
- # this ... annotation (NetWare or symbian but not MSWin32).
- # Then .... could easily become ../../.. etc:
- # Replace \.\.\. by (\.\.\.+) and substitute with
- # { $1 . ".." . "\\.." x (length($2)-2) }gex
- # ... --> ../..
- $path =~ s{ (\A|\\) # at begin or after a slash
- \.\.\.
- (?=\\|\z) # at end or followed by slash
- }{$1..\\..}gx;
- # xx\yy\..\zz --> xx\zz
- while ( $path =~ s{(?:
- (?:\A|\\) # at begin or after a slash
- [^\\]+ # rip this 'yy' off
- \\\.\.
- (?<!\A\.\.\\\.\.) # do *not* replace ^..\..
- (?<!\\\.\.\\\.\.) # do *not* replace \..\..
- (?:\\|\z) # at end or followed by slash
- )+ # performance boost -- I do not know why
- }{\\}sx ) {}
-
- $path =~ s#\A\\##; # \xx --> xx NOTE: this is *not* root
- $path =~ s#\\\z##; # xx\ --> xx
-
- if ( $volume =~ m#\\\z# )
- { # <vol>\.. --> <vol>\
- $path =~ s{ \A # at begin
- \.\.
- (?:\\\.\.)* # and more
- (?:\\|\z) # at end or followed by slash
- }{}x;
-
- return $1 # \\HOST\SHARE\ --> \\HOST\SHARE
- if $path eq ""
- and $volume =~ m#\A(\\\\.*)\\\z#s;
- }
- return $path ne "" || $volume ? $volume.$path : ".";
-}
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Entities.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Entities.pm
deleted file mode 100644
index 1e7dfc1f069..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Entities.pm
+++ /dev/null
@@ -1,491 +0,0 @@
-package HTML::Entities;
-
-# $Id: Entities.pm,v 1.35 2006/03/22 09:15:23 gisle Exp $
-
-=head1 NAME
-
-HTML::Entities - Encode or decode strings with HTML entities
-
-=head1 SYNOPSIS
-
- use HTML::Entities;
-
- $a = "V&aring;re norske tegn b&oslash;r &#230res";
- decode_entities($a);
- encode_entities($a, "\200-\377");
-
-For example, this:
-
- $input = "vis-à-vis Beyoncé's naïve\npapier-mâché résumé";
- print encode_entities($input), "\n"
-
-Prints this out:
-
- vis-&agrave;-vis Beyonc&eacute;'s na&iuml;ve
- papier-m&acirc;ch&eacute; r&eacute;sum&eacute;
-
-=head1 DESCRIPTION
-
-This module deals with encoding and decoding of strings with HTML
-character entities. The module provides the following functions:
-
-=over 4
-
-=item decode_entities( $string, ... )
-
-This routine replaces HTML entities found in the $string with the
-corresponding Unicode character. Under perl 5.6 and earlier only
-characters in the Latin-1 range are replaced. Unrecognized
-entities are left alone.
-
-If multiple strings are provided as argument they are each decoded
-separately and the same number of strings are returned.
-
-If called in void context the arguments are decoded in-place.
-
-This routine is exported by default.
-
-=item _decode_entities( $string, \%entity2char )
-
-=item _decode_entities( $string, \%entity2char, $expand_prefix )
-
-This will in-place replace HTML entities in $string. The %entity2char
-hash must be provided. Named entities not found in the %entity2char
-hash are left alone. Numeric entities are expanded unless their value
-overflow.
-
-The keys in %entity2char are the entity names to be expanded and their
-values are what they should expand into. The values do not have to be
-single character strings. If a key has ";" as suffix,
-then occurrences in $string are only expanded if properly terminated
-with ";". Entities without ";" will be expanded regardless of how
-they are terminated for compatiblity with how common browsers treat
-entities in the Latin-1 range.
-
-If $expand_prefix is TRUE then entities without trailing ";" in
-%entity2char will even be expanded as a prefix of a longer
-unrecognized name. The longest matching name in %entity2char will be
-used. This is mainly present for compatibility with an MSIE
-misfeature.
-
- $string = "foo&nbspbar";
- _decode_entities($string, { nb => "@", nbsp => "\xA0" }, 1);
- print $string; # will print "foo bar"
-
-This routine is exported by default.
-
-=item encode_entities( $string )
-
-=item encode_entities( $string, $unsafe_chars )
-
-This routine replaces unsafe characters in $string with their entity
-representation. A second argument can be given to specify which
-characters to consider unsafe (i.e., which to escape). The default set
-of characters to encode are control chars, high-bit chars, and the
-C<< < >>, C<< & >>, C<< > >>, C<< ' >> and C<< " >>
-characters. But this, for example, would encode I<just> the
-C<< < >>, C<< & >>, C<< > >>, and C<< " >> characters:
-
- $encoded = encode_entities($input, '<>&"');
-
-This routine is exported by default.
-
-=item encode_entities_numeric( $string )
-
-=item encode_entities_numeric( $string, $unsafe_chars )
-
-This routine works just like encode_entities, except that the replacement
-entities are always C<&#xI<hexnum>;> and never C<&I<entname>;>. For
-example, C<encode_entities("r\xF4le")> returns "r&ocirc;le", but
-C<encode_entities_numeric("r\xF4le")> returns "r&#xF4;le".
-
-This routine is I<not> exported by default. But you can always
-export it with C<use HTML::Entities qw(encode_entities_numeric);>
-or even C<use HTML::Entities qw(:DEFAULT encode_entities_numeric);>
-
-=back
-
-All these routines modify the string passed as the first argument, if
-called in a void context. In scalar and array contexts, the encoded or
-decoded string is returned (without changing the input string).
-
-If you prefer not to import these routines into your namespace, you can
-call them as:
-
- use HTML::Entities ();
- $decoded = HTML::Entities::decode($a);
- $encoded = HTML::Entities::encode($a);
- $encoded = HTML::Entities::encode_numeric($a);
-
-The module can also export the %char2entity and the %entity2char
-hashes, which contain the mapping from all characters to the
-corresponding entities (and vice versa, respectively).
-
-=head1 COPYRIGHT
-
-Copyright 1995-2006 Gisle Aas. All rights reserved.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
-
-use strict;
-use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
-use vars qw(%entity2char %char2entity);
-
-require 5.004;
-require Exporter;
-@ISA = qw(Exporter);
-
-@EXPORT = qw(encode_entities decode_entities _decode_entities);
-@EXPORT_OK = qw(%entity2char %char2entity encode_entities_numeric);
-
-$VERSION = sprintf("%d.%02d", q$Revision: 1.35 $ =~ /(\d+)\.(\d+)/);
-sub Version { $VERSION; }
-
-require HTML::Parser; # for fast XS implemented decode_entities
-
-
-%entity2char = (
- # Some normal chars that have special meaning in SGML context
- amp => '&', # ampersand
-'gt' => '>', # greater than
-'lt' => '<', # less than
- quot => '"', # double quote
- apos => "'", # single quote
-
- # PUBLIC ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML
- AElig => chr(198), # capital AE diphthong (ligature)
- Aacute => chr(193), # capital A, acute accent
- Acirc => chr(194), # capital A, circumflex accent
- Agrave => chr(192), # capital A, grave accent
- Aring => chr(197), # capital A, ring
- Atilde => chr(195), # capital A, tilde
- Auml => chr(196), # capital A, dieresis or umlaut mark
- Ccedil => chr(199), # capital C, cedilla
- ETH => chr(208), # capital Eth, Icelandic
- Eacute => chr(201), # capital E, acute accent
- Ecirc => chr(202), # capital E, circumflex accent
- Egrave => chr(200), # capital E, grave accent
- Euml => chr(203), # capital E, dieresis or umlaut mark
- Iacute => chr(205), # capital I, acute accent
- Icirc => chr(206), # capital I, circumflex accent
- Igrave => chr(204), # capital I, grave accent
- Iuml => chr(207), # capital I, dieresis or umlaut mark
- Ntilde => chr(209), # capital N, tilde
- Oacute => chr(211), # capital O, acute accent
- Ocirc => chr(212), # capital O, circumflex accent
- Ograve => chr(210), # capital O, grave accent
- Oslash => chr(216), # capital O, slash
- Otilde => chr(213), # capital O, tilde
- Ouml => chr(214), # capital O, dieresis or umlaut mark
- THORN => chr(222), # capital THORN, Icelandic
- Uacute => chr(218), # capital U, acute accent
- Ucirc => chr(219), # capital U, circumflex accent
- Ugrave => chr(217), # capital U, grave accent
- Uuml => chr(220), # capital U, dieresis or umlaut mark
- Yacute => chr(221), # capital Y, acute accent
- aacute => chr(225), # small a, acute accent
- acirc => chr(226), # small a, circumflex accent
- aelig => chr(230), # small ae diphthong (ligature)
- agrave => chr(224), # small a, grave accent
- aring => chr(229), # small a, ring
- atilde => chr(227), # small a, tilde
- auml => chr(228), # small a, dieresis or umlaut mark
- ccedil => chr(231), # small c, cedilla
- eacute => chr(233), # small e, acute accent
- ecirc => chr(234), # small e, circumflex accent
- egrave => chr(232), # small e, grave accent
- eth => chr(240), # small eth, Icelandic
- euml => chr(235), # small e, dieresis or umlaut mark
- iacute => chr(237), # small i, acute accent
- icirc => chr(238), # small i, circumflex accent
- igrave => chr(236), # small i, grave accent
- iuml => chr(239), # small i, dieresis or umlaut mark
- ntilde => chr(241), # small n, tilde
- oacute => chr(243), # small o, acute accent
- ocirc => chr(244), # small o, circumflex accent
- ograve => chr(242), # small o, grave accent
- oslash => chr(248), # small o, slash
- otilde => chr(245), # small o, tilde
- ouml => chr(246), # small o, dieresis or umlaut mark
- szlig => chr(223), # small sharp s, German (sz ligature)
- thorn => chr(254), # small thorn, Icelandic
- uacute => chr(250), # small u, acute accent
- ucirc => chr(251), # small u, circumflex accent
- ugrave => chr(249), # small u, grave accent
- uuml => chr(252), # small u, dieresis or umlaut mark
- yacute => chr(253), # small y, acute accent
- yuml => chr(255), # small y, dieresis or umlaut mark
-
- # Some extra Latin 1 chars that are listed in the HTML3.2 draft (21-May-96)
- copy => chr(169), # copyright sign
- reg => chr(174), # registered sign
- nbsp => chr(160), # non breaking space
-
- # Additional ISO-8859/1 entities listed in rfc1866 (section 14)
- iexcl => chr(161),
- cent => chr(162),
- pound => chr(163),
- curren => chr(164),
- yen => chr(165),
- brvbar => chr(166),
- sect => chr(167),
- uml => chr(168),
- ordf => chr(170),
- laquo => chr(171),
-'not' => chr(172), # not is a keyword in perl
- shy => chr(173),
- macr => chr(175),
- deg => chr(176),
- plusmn => chr(177),
- sup1 => chr(185),
- sup2 => chr(178),
- sup3 => chr(179),
- acute => chr(180),
- micro => chr(181),
- para => chr(182),
- middot => chr(183),
- cedil => chr(184),
- ordm => chr(186),
- raquo => chr(187),
- frac14 => chr(188),
- frac12 => chr(189),
- frac34 => chr(190),
- iquest => chr(191),
-'times' => chr(215), # times is a keyword in perl
- divide => chr(247),
-
- ( $] > 5.007 ? (
- 'OElig;' => chr(338),
- 'oelig;' => chr(339),
- 'Scaron;' => chr(352),
- 'scaron;' => chr(353),
- 'Yuml;' => chr(376),
- 'fnof;' => chr(402),
- 'circ;' => chr(710),
- 'tilde;' => chr(732),
- 'Alpha;' => chr(913),
- 'Beta;' => chr(914),
- 'Gamma;' => chr(915),
- 'Delta;' => chr(916),
- 'Epsilon;' => chr(917),
- 'Zeta;' => chr(918),
- 'Eta;' => chr(919),
- 'Theta;' => chr(920),
- 'Iota;' => chr(921),
- 'Kappa;' => chr(922),
- 'Lambda;' => chr(923),
- 'Mu;' => chr(924),
- 'Nu;' => chr(925),
- 'Xi;' => chr(926),
- 'Omicron;' => chr(927),
- 'Pi;' => chr(928),
- 'Rho;' => chr(929),
- 'Sigma;' => chr(931),
- 'Tau;' => chr(932),
- 'Upsilon;' => chr(933),
- 'Phi;' => chr(934),
- 'Chi;' => chr(935),
- 'Psi;' => chr(936),
- 'Omega;' => chr(937),
- 'alpha;' => chr(945),
- 'beta;' => chr(946),
- 'gamma;' => chr(947),
- 'delta;' => chr(948),
- 'epsilon;' => chr(949),
- 'zeta;' => chr(950),
- 'eta;' => chr(951),
- 'theta;' => chr(952),
- 'iota;' => chr(953),
- 'kappa;' => chr(954),
- 'lambda;' => chr(955),
- 'mu;' => chr(956),
- 'nu;' => chr(957),
- 'xi;' => chr(958),
- 'omicron;' => chr(959),
- 'pi;' => chr(960),
- 'rho;' => chr(961),
- 'sigmaf;' => chr(962),
- 'sigma;' => chr(963),
- 'tau;' => chr(964),
- 'upsilon;' => chr(965),
- 'phi;' => chr(966),
- 'chi;' => chr(967),
- 'psi;' => chr(968),
- 'omega;' => chr(969),
- 'thetasym;' => chr(977),
- 'upsih;' => chr(978),
- 'piv;' => chr(982),
- 'ensp;' => chr(8194),
- 'emsp;' => chr(8195),
- 'thinsp;' => chr(8201),
- 'zwnj;' => chr(8204),
- 'zwj;' => chr(8205),
- 'lrm;' => chr(8206),
- 'rlm;' => chr(8207),
- 'ndash;' => chr(8211),
- 'mdash;' => chr(8212),
- 'lsquo;' => chr(8216),
- 'rsquo;' => chr(8217),
- 'sbquo;' => chr(8218),
- 'ldquo;' => chr(8220),
- 'rdquo;' => chr(8221),
- 'bdquo;' => chr(8222),
- 'dagger;' => chr(8224),
- 'Dagger;' => chr(8225),
- 'bull;' => chr(8226),
- 'hellip;' => chr(8230),
- 'permil;' => chr(8240),
- 'prime;' => chr(8242),
- 'Prime;' => chr(8243),
- 'lsaquo;' => chr(8249),
- 'rsaquo;' => chr(8250),
- 'oline;' => chr(8254),
- 'frasl;' => chr(8260),
- 'euro;' => chr(8364),
- 'image;' => chr(8465),
- 'weierp;' => chr(8472),
- 'real;' => chr(8476),
- 'trade;' => chr(8482),
- 'alefsym;' => chr(8501),
- 'larr;' => chr(8592),
- 'uarr;' => chr(8593),
- 'rarr;' => chr(8594),
- 'darr;' => chr(8595),
- 'harr;' => chr(8596),
- 'crarr;' => chr(8629),
- 'lArr;' => chr(8656),
- 'uArr;' => chr(8657),
- 'rArr;' => chr(8658),
- 'dArr;' => chr(8659),
- 'hArr;' => chr(8660),
- 'forall;' => chr(8704),
- 'part;' => chr(8706),
- 'exist;' => chr(8707),
- 'empty;' => chr(8709),
- 'nabla;' => chr(8711),
- 'isin;' => chr(8712),
- 'notin;' => chr(8713),
- 'ni;' => chr(8715),
- 'prod;' => chr(8719),
- 'sum;' => chr(8721),
- 'minus;' => chr(8722),
- 'lowast;' => chr(8727),
- 'radic;' => chr(8730),
- 'prop;' => chr(8733),
- 'infin;' => chr(8734),
- 'ang;' => chr(8736),
- 'and;' => chr(8743),
- 'or;' => chr(8744),
- 'cap;' => chr(8745),
- 'cup;' => chr(8746),
- 'int;' => chr(8747),
- 'there4;' => chr(8756),
- 'sim;' => chr(8764),
- 'cong;' => chr(8773),
- 'asymp;' => chr(8776),
- 'ne;' => chr(8800),
- 'equiv;' => chr(8801),
- 'le;' => chr(8804),
- 'ge;' => chr(8805),
- 'sub;' => chr(8834),
- 'sup;' => chr(8835),
- 'nsub;' => chr(8836),
- 'sube;' => chr(8838),
- 'supe;' => chr(8839),
- 'oplus;' => chr(8853),
- 'otimes;' => chr(8855),
- 'perp;' => chr(8869),
- 'sdot;' => chr(8901),
- 'lceil;' => chr(8968),
- 'rceil;' => chr(8969),
- 'lfloor;' => chr(8970),
- 'rfloor;' => chr(8971),
- 'lang;' => chr(9001),
- 'rang;' => chr(9002),
- 'loz;' => chr(9674),
- 'spades;' => chr(9824),
- 'clubs;' => chr(9827),
- 'hearts;' => chr(9829),
- 'diams;' => chr(9830),
- ) : ())
-);
-
-
-# Make the opposite mapping
-while (my($entity, $char) = each(%entity2char)) {
- $entity =~ s/;\z//;
- $char2entity{$char} = "&$entity;";
-}
-delete $char2entity{"'"}; # only one-way decoding
-
-# Fill in missing entities
-for (0 .. 255) {
- next if exists $char2entity{chr($_)};
- $char2entity{chr($_)} = "&#$_;";
-}
-
-my %subst; # compiled encoding regexps
-
-sub decode_entities_old
-{
- my $array;
- if (defined wantarray) {
- $array = [@_]; # copy
- } else {
- $array = \@_; # modify in-place
- }
- my $c;
- for (@$array) {
- s/(&\#(\d+);?)/$2 < 256 ? chr($2) : $1/eg;
- s/(&\#[xX]([0-9a-fA-F]+);?)/$c = hex($2); $c < 256 ? chr($c) : $1/eg;
- s/(&(\w+);?)/$entity2char{$2} || $1/eg;
- }
- wantarray ? @$array : $array->[0];
-}
-
-sub encode_entities
-{
- my $ref;
- if (defined wantarray) {
- my $x = $_[0];
- $ref = \$x; # copy
- } else {
- $ref = \$_[0]; # modify in-place
- }
- if (defined $_[1] and length $_[1]) {
- unless (exists $subst{$_[1]}) {
- # Because we can't compile regex we fake it with a cached sub
- my $code = "sub {\$_[0] =~ s/([$_[1]])/\$char2entity{\$1} || num_entity(\$1)/ge; }";
- $subst{$_[1]} = eval $code;
- die( $@ . " while trying to turn range: \"$_[1]\"\n "
- . "into code: $code\n "
- ) if $@;
- }
- &{$subst{$_[1]}}($$ref);
- } else {
- # Encode control chars, high bit chars and '<', '&', '>', ''' and '"'
- $$ref =~ s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge;
- }
- $$ref;
-}
-
-sub encode_entities_numeric {
- local %char2entity;
- return &encode_entities; # a goto &encode_entities wouldn't work
-}
-
-
-sub num_entity {
- sprintf "&#x%X;", ord($_[0]);
-}
-
-# Set up aliases
-*encode = \&encode_entities;
-*encode_numeric = \&encode_entities_numeric;
-*encode_numerically = \&encode_entities_numeric;
-*decode = \&decode_entities;
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Filter.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Filter.pm
deleted file mode 100644
index 21fafac621a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Filter.pm
+++ /dev/null
@@ -1,112 +0,0 @@
-package HTML::Filter;
-
-use strict;
-use vars qw(@ISA $VERSION);
-
-require HTML::Parser;
-@ISA=qw(HTML::Parser);
-
-$VERSION = sprintf("%d.%02d", q$Revision: 2.11 $ =~ /(\d+)\.(\d+)/);
-
-sub declaration { $_[0]->output("<!$_[1]>") }
-sub process { $_[0]->output($_[2]) }
-sub comment { $_[0]->output("<!--$_[1]-->") }
-sub start { $_[0]->output($_[4]) }
-sub end { $_[0]->output($_[2]) }
-sub text { $_[0]->output($_[1]) }
-
-sub output { print $_[1] }
-
-1;
-
-__END__
-
-=head1 NAME
-
-HTML::Filter - Filter HTML text through the parser
-
-=head1 NOTE
-
-B<This module is deprecated.> The C<HTML::Parser> now provides the
-functionally of C<HTML::Filter> much more efficiently with the the
-C<default> handler.
-
-=head1 SYNOPSIS
-
- require HTML::Filter;
- $p = HTML::Filter->new->parse_file("index.html");
-
-=head1 DESCRIPTION
-
-C<HTML::Filter> is an HTML parser that by default prints the
-original text of each HTML element (a slow version of cat(1) basically).
-The callback methods may be overridden to modify the filtering for some
-HTML elements and you can override output() method which is called to
-print the HTML text.
-
-C<HTML::Filter> is a subclass of C<HTML::Parser>. This means that
-the document should be given to the parser by calling the $p->parse()
-or $p->parse_file() methods.
-
-=head1 EXAMPLES
-
-The first example is a filter that will remove all comments from an
-HTML file. This is achieved by simply overriding the comment method
-to do nothing.
-
- package CommentStripper;
- require HTML::Filter;
- @ISA=qw(HTML::Filter);
- sub comment { } # ignore comments
-
-The second example shows a filter that will remove any E<lt>TABLE>s
-found in the HTML file. We specialize the start() and end() methods
-to count table tags and then make output not happen when inside a
-table.
-
- package TableStripper;
- require HTML::Filter;
- @ISA=qw(HTML::Filter);
- sub start
- {
- my $self = shift;
- $self->{table_seen}++ if $_[0] eq "table";
- $self->SUPER::start(@_);
- }
-
- sub end
- {
- my $self = shift;
- $self->SUPER::end(@_);
- $self->{table_seen}-- if $_[0] eq "table";
- }
-
- sub output
- {
- my $self = shift;
- unless ($self->{table_seen}) {
- $self->SUPER::output(@_);
- }
- }
-
-If you want to collect the parsed text internally you might want to do
-something like this:
-
- package FilterIntoString;
- require HTML::Filter;
- @ISA=qw(HTML::Filter);
- sub output { push(@{$_[0]->{fhtml}}, $_[1]) }
- sub filtered_html { join("", @{$_[0]->{fhtml}}) }
-
-=head1 SEE ALSO
-
-L<HTML::Parser>
-
-=head1 COPYRIGHT
-
-Copyright 1997-1999 Gisle Aas.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/HeadParser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/HeadParser.pm
deleted file mode 100644
index a8974f832b6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/HeadParser.pm
+++ /dev/null
@@ -1,259 +0,0 @@
-package HTML::HeadParser;
-
-=head1 NAME
-
-HTML::HeadParser - Parse <HEAD> section of a HTML document
-
-=head1 SYNOPSIS
-
- require HTML::HeadParser;
- $p = HTML::HeadParser->new;
- $p->parse($text) and print "not finished";
-
- $p->header('Title') # to access <title>....</title>
- $p->header('Content-Base') # to access <base href="http://...">
- $p->header('Foo') # to access <meta http-equiv="Foo" content="...">
-
-=head1 DESCRIPTION
-
-The C<HTML::HeadParser> is a specialized (and lightweight)
-C<HTML::Parser> that will only parse the E<lt>HEAD>...E<lt>/HEAD>
-section of an HTML document. The parse() method
-will return a FALSE value as soon as some E<lt>BODY> element or body
-text are found, and should not be called again after this.
-
-Note that the C<HTML::HeadParser> might get confused if raw undecoded
-UTF-8 is passed to the parse() method. Make sure the strings are
-properly decoded before passing them on.
-
-The C<HTML::HeadParser> keeps a reference to a header object, and the
-parser will update this header object as the various elements of the
-E<lt>HEAD> section of the HTML document are recognized. The following
-header fields are affected:
-
-=over 4
-
-=item Content-Base:
-
-The I<Content-Base> header is initialized from the E<lt>base
-href="..."> element.
-
-=item Title:
-
-The I<Title> header is initialized from the E<lt>title>...E<lt>/title>
-element.
-
-=item Isindex:
-
-The I<Isindex> header will be added if there is a E<lt>isindex>
-element in the E<lt>head>. The header value is initialized from the
-I<prompt> attribute if it is present. If no I<prompt> attribute is
-given it will have '?' as the value.
-
-=item X-Meta-Foo:
-
-All E<lt>meta> elements will initialize headers with the prefix
-"C<X-Meta->" on the name. If the E<lt>meta> element contains a
-C<http-equiv> attribute, then it will be honored as the header name.
-
-=back
-
-=head1 METHODS
-
-The following methods (in addition to those provided by the
-superclass) are available:
-
-=over 4
-
-=cut
-
-
-require HTML::Parser;
-@ISA = qw(HTML::Parser);
-
-use HTML::Entities ();
-
-use strict;
-use vars qw($VERSION $DEBUG);
-#$DEBUG = 1;
-$VERSION = sprintf("%d.%02d", q$Revision: 2.22 $ =~ /(\d+)\.(\d+)/);
-
-=item $hp = HTML::HeadParser->new
-
-=item $hp = HTML::HeadParser->new( $header )
-
-The object constructor. The optional $header argument should be a
-reference to an object that implement the header() and push_header()
-methods as defined by the C<HTTP::Headers> class. Normally it will be
-of some class that isa or delegates to the C<HTTP::Headers> class.
-
-If no $header is given C<HTML::HeadParser> will create an
-C<HTTP::Header> object by itself (initially empty).
-
-=cut
-
-sub new
-{
- my($class, $header) = @_;
- unless ($header) {
- require HTTP::Headers;
- $header = HTTP::Headers->new;
- }
-
- my $self = $class->SUPER::new(api_version => 2,
- ignore_elements => [qw(script style)],
- );
- $self->{'header'} = $header;
- $self->{'tag'} = ''; # name of active element that takes textual content
- $self->{'text'} = ''; # the accumulated text associated with the element
- $self;
-}
-
-=item $hp->header;
-
-Returns a reference to the header object.
-
-=item $hp->header( $key )
-
-Returns a header value. It is just a shorter way to write
-C<$hp-E<gt>header-E<gt>header($key)>.
-
-=cut
-
-sub header
-{
- my $self = shift;
- return $self->{'header'} unless @_;
- $self->{'header'}->header(@_);
-}
-
-sub as_string # legacy
-{
- my $self = shift;
- $self->{'header'}->as_string;
-}
-
-sub flush_text # internal
-{
- my $self = shift;
- my $tag = $self->{'tag'};
- my $text = $self->{'text'};
- $text =~ s/^\s+//;
- $text =~ s/\s+$//;
- $text =~ s/\s+/ /g;
- print "FLUSH $tag => '$text'\n" if $DEBUG;
- if ($tag eq 'title') {
- HTML::Entities::decode($text);
- $self->{'header'}->push_header(Title => $text);
- }
- $self->{'tag'} = $self->{'text'} = '';
-}
-
-# This is an quote from the HTML3.2 DTD which shows which elements
-# that might be present in a <HEAD>...</HEAD>. Also note that the
-# <HEAD> tags themselves might be missing:
-#
-# <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE? &
-# SCRIPT* & META* & LINK*">
-#
-# <!ELEMENT HEAD O O (%head.content)>
-
-
-sub start
-{
- my($self, $tag, $attr) = @_; # $attr is reference to a HASH
- print "START[$tag]\n" if $DEBUG;
- $self->flush_text if $self->{'tag'};
- if ($tag eq 'meta') {
- my $key = $attr->{'http-equiv'};
- if (!defined($key) || !length($key)) {
- return unless $attr->{'name'};
- $key = "X-Meta-\u$attr->{'name'}";
- }
- $self->{'header'}->push_header($key => $attr->{content});
- } elsif ($tag eq 'base') {
- return unless exists $attr->{href};
- $self->{'header'}->push_header('Content-Base' => $attr->{href});
- } elsif ($tag eq 'isindex') {
- # This is a non-standard header. Perhaps we should just ignore
- # this element
- $self->{'header'}->push_header(Isindex => $attr->{prompt} || '?');
- } elsif ($tag =~ /^(?:title|script|style)$/) {
- # Just remember tag. Initialize header when we see the end tag.
- $self->{'tag'} = $tag;
- } elsif ($tag eq 'link') {
- return unless exists $attr->{href};
- # <link href="http:..." rel="xxx" rev="xxx" title="xxx">
- my $h_val = "<" . delete($attr->{href}) . ">";
- for (sort keys %{$attr}) {
- $h_val .= qq(; $_="$attr->{$_}");
- }
- $self->{'header'}->push_header(Link => $h_val);
- } elsif ($tag eq 'head' || $tag eq 'html') {
- # ignore
- } else {
- # stop parsing
- $self->eof;
- }
-}
-
-sub end
-{
- my($self, $tag) = @_;
- print "END[$tag]\n" if $DEBUG;
- $self->flush_text if $self->{'tag'};
- $self->eof if $tag eq 'head';
-}
-
-sub text
-{
- my($self, $text) = @_;
- $text =~ s/\x{FEFF}//; # drop Unicode BOM if found
- print "TEXT[$text]\n" if $DEBUG;
- my $tag = $self->{tag};
- if (!$tag && $text =~ /\S/) {
- # Normal text means start of body
- $self->eof;
- return;
- }
- return if $tag ne 'title';
- $self->{'text'} .= $text;
-}
-
-1;
-
-__END__
-
-=back
-
-=head1 EXAMPLE
-
- $h = HTTP::Headers->new;
- $p = HTML::HeadParser->new($h);
- $p->parse(<<EOT);
- <title>Stupid example</title>
- <base href="http://www.linpro.no/lwp/">
- Normal text starts here.
- EOT
- undef $p;
- print $h->title; # should print "Stupid example"
-
-=head1 SEE ALSO
-
-L<HTML::Parser>, L<HTTP::Headers>
-
-The C<HTTP::Headers> class is distributed as part of the
-I<libwww-perl> package. If you don't have that distribution installed
-you need to provide the $header argument to the C<HTML::HeadParser>
-constructor with your own object that implements the documented
-protocol.
-
-=head1 COPYRIGHT
-
-Copyright 1996-2001 Gisle Aas. All rights reserved.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/LinkExtor.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/LinkExtor.pm
deleted file mode 100644
index d543a5aba7b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/LinkExtor.pm
+++ /dev/null
@@ -1,187 +0,0 @@
-package HTML::LinkExtor;
-
-# $Id: LinkExtor.pm,v 1.33 2003/10/10 10:20:56 gisle Exp $
-
-require HTML::Parser;
-@ISA = qw(HTML::Parser);
-$VERSION = sprintf("%d.%02d", q$Revision: 1.33 $ =~ /(\d+)\.(\d+)/);
-
-=head1 NAME
-
-HTML::LinkExtor - Extract links from an HTML document
-
-=head1 SYNOPSIS
-
- require HTML::LinkExtor;
- $p = HTML::LinkExtor->new(\&cb, "http://www.perl.org/");
- sub cb {
- my($tag, %links) = @_;
- print "$tag @{[%links]}\n";
- }
- $p->parse_file("index.html");
-
-=head1 DESCRIPTION
-
-I<HTML::LinkExtor> is an HTML parser that extracts links from an
-HTML document. The I<HTML::LinkExtor> is a subclass of
-I<HTML::Parser>. This means that the document should be given to the
-parser by calling the $p->parse() or $p->parse_file() methods.
-
-=cut
-
-use strict;
-use HTML::Tagset ();
-
-# legacy (some applications grabs this hash directly)
-use vars qw(%LINK_ELEMENT);
-*LINK_ELEMENT = \%HTML::Tagset::linkElements;
-
-=over 4
-
-=item $p = HTML::LinkExtor->new
-
-=item $p = HTML::LinkExtor->new( $callback )
-
-=item $p = HTML::LinkExtor->new( $callback, $base )
-
-The constructor takes two optional arguments. The first is a reference
-to a callback routine. It will be called as links are found. If a
-callback is not provided, then links are just accumulated internally
-and can be retrieved by calling the $p->links() method.
-
-The $base argument is an optional base URL used to absolutize all URLs found.
-You need to have the I<URI> module installed if you provide $base.
-
-The callback is called with the lowercase tag name as first argument,
-and then all link attributes as separate key/value pairs. All
-non-link attributes are removed.
-
-=cut
-
-sub new
-{
- my($class, $cb, $base) = @_;
- my $self = $class->SUPER::new(
- start_h => ["_start_tag", "self,tagname,attr"],
- report_tags => [keys %HTML::Tagset::linkElements],
- );
- $self->{extractlink_cb} = $cb;
- if ($base) {
- require URI;
- $self->{extractlink_base} = URI->new($base);
- }
- $self;
-}
-
-sub _start_tag
-{
- my($self, $tag, $attr) = @_;
-
- my $base = $self->{extractlink_base};
- my $links = $HTML::Tagset::linkElements{$tag};
- $links = [$links] unless ref $links;
-
- my @links;
- my $a;
- for $a (@$links) {
- next unless exists $attr->{$a};
- push(@links, $a, $base ? URI->new($attr->{$a}, $base)->abs($base)
- : $attr->{$a});
- }
- return unless @links;
- $self->_found_link($tag, @links);
-}
-
-sub _found_link
-{
- my $self = shift;
- my $cb = $self->{extractlink_cb};
- if ($cb) {
- &$cb(@_);
- } else {
- push(@{$self->{'links'}}, [@_]);
- }
-}
-
-=item $p->links
-
-Returns a list of all links found in the document. The returned
-values will be anonymous arrays with the follwing elements:
-
- [$tag, $attr => $url1, $attr2 => $url2,...]
-
-The $p->links method will also truncate the internal link list. This
-means that if the method is called twice without any parsing
-between them the second call will return an empty list.
-
-Also note that $p->links will always be empty if a callback routine
-was provided when the I<HTML::LinkExtor> was created.
-
-=cut
-
-sub links
-{
- my $self = shift;
- exists($self->{'links'}) ? @{delete $self->{'links'}} : ();
-}
-
-# We override the parse_file() method so that we can clear the links
-# before we start a new file.
-sub parse_file
-{
- my $self = shift;
- delete $self->{'links'};
- $self->SUPER::parse_file(@_);
-}
-
-=back
-
-=head1 EXAMPLE
-
-This is an example showing how you can extract links from a document
-received using LWP:
-
- use LWP::UserAgent;
- use HTML::LinkExtor;
- use URI::URL;
-
- $url = "http://www.perl.org/"; # for instance
- $ua = LWP::UserAgent->new;
-
- # Set up a callback that collect image links
- my @imgs = ();
- sub callback {
- my($tag, %attr) = @_;
- return if $tag ne 'img'; # we only look closer at <img ...>
- push(@imgs, values %attr);
- }
-
- # Make the parser. Unfortunately, we don't know the base yet
- # (it might be diffent from $url)
- $p = HTML::LinkExtor->new(\&callback);
-
- # Request document and parse it as it arrives
- $res = $ua->request(HTTP::Request->new(GET => $url),
- sub {$p->parse($_[0])});
-
- # Expand all image URLs to absolute ones
- my $base = $res->base;
- @imgs = map { $_ = url($_, $base)->abs; } @imgs;
-
- # Print them out
- print join("\n", @imgs), "\n";
-
-=head1 SEE ALSO
-
-L<HTML::Parser>, L<HTML::Tagset>, L<LWP>, L<URI::URL>
-
-=head1 COPYRIGHT
-
-Copyright 1996-2001 Gisle Aas.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Parser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Parser.pm
deleted file mode 100644
index 72d5a9841fa..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Parser.pm
+++ /dev/null
@@ -1,1233 +0,0 @@
-package HTML::Parser;
-
-# Copyright 1996-2007, Gisle Aas.
-# Copyright 1999-2000, Michael A. Chase.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-use strict;
-use vars qw($VERSION @ISA);
-
-$VERSION = '3.56'; # $Date: 2007/01/12 09:18:31 $
-
-require HTML::Entities;
-
-require XSLoader;
-XSLoader::load('HTML::Parser', $VERSION);
-
-sub new
-{
- my $class = shift;
- my $self = bless {}, $class;
- return $self->init(@_);
-}
-
-
-sub init
-{
- my $self = shift;
- $self->_alloc_pstate;
-
- my %arg = @_;
- my $api_version = delete $arg{api_version} || (@_ ? 3 : 2);
- if ($api_version >= 4) {
- require Carp;
- Carp::croak("API version $api_version not supported " .
- "by HTML::Parser $VERSION");
- }
-
- if ($api_version < 3) {
- # Set up method callbacks compatible with HTML-Parser-2.xx
- $self->handler(text => "text", "self,text,is_cdata");
- $self->handler(end => "end", "self,tagname,text");
- $self->handler(process => "process", "self,token0,text");
- $self->handler(start => "start",
- "self,tagname,attr,attrseq,text");
-
- $self->handler(comment =>
- sub {
- my($self, $tokens) = @_;
- for (@$tokens) {
- $self->comment($_);
- }
- }, "self,tokens");
-
- $self->handler(declaration =>
- sub {
- my $self = shift;
- $self->declaration(substr($_[0], 2, -1));
- }, "self,text");
- }
-
- if (my $h = delete $arg{handlers}) {
- $h = {@$h} if ref($h) eq "ARRAY";
- while (my($event, $cb) = each %$h) {
- $self->handler($event => @$cb);
- }
- }
-
- # In the end we try to assume plain attribute or handler
- while (my($option, $val) = each %arg) {
- if ($option =~ /^(\w+)_h$/) {
- $self->handler($1 => @$val);
- }
- elsif ($option =~ /^(text|start|end|process|declaration|comment)$/) {
- require Carp;
- Carp::croak("Bad constructor option '$option'");
- }
- else {
- $self->$option($val);
- }
- }
-
- return $self;
-}
-
-
-sub parse_file
-{
- my($self, $file) = @_;
- my $opened;
- if (!ref($file) && ref(\$file) ne "GLOB") {
- # Assume $file is a filename
- local(*F);
- open(F, $file) || return undef;
- binmode(F); # should we? good for byte counts
- $opened++;
- $file = *F;
- }
- my $chunk = '';
- while (read($file, $chunk, 512)) {
- $self->parse($chunk) || last;
- }
- close($file) if $opened;
- $self->eof;
-}
-
-
-sub netscape_buggy_comment # legacy
-{
- my $self = shift;
- require Carp;
- Carp::carp("netscape_buggy_comment() is deprecated. " .
- "Please use the strict_comment() method instead");
- my $old = !$self->strict_comment;
- $self->strict_comment(!shift) if @_;
- return $old;
-}
-
-# set up method stubs
-sub text { }
-*start = \&text;
-*end = \&text;
-*comment = \&text;
-*declaration = \&text;
-*process = \&text;
-
-1;
-
-__END__
-
-
-=head1 NAME
-
-HTML::Parser - HTML parser class
-
-=head1 SYNOPSIS
-
- use HTML::Parser ();
-
- # Create parser object
- $p = HTML::Parser->new( api_version => 3,
- start_h => [\&start, "tagname, attr"],
- end_h => [\&end, "tagname"],
- marked_sections => 1,
- );
-
- # Parse document text chunk by chunk
- $p->parse($chunk1);
- $p->parse($chunk2);
- #...
- $p->eof; # signal end of document
-
- # Parse directly from file
- $p->parse_file("foo.html");
- # or
- open(my $fh, "<:utf8", "foo.html") || die;
- $p->parse_file($fh);
-
-=head1 DESCRIPTION
-
-Objects of the C<HTML::Parser> class will recognize markup and
-separate it from plain text (alias data content) in HTML
-documents. As different kinds of markup and text are recognized, the
-corresponding event handlers are invoked.
-
-C<HTML::Parser> is not a generic SGML parser. We have tried to
-make it able to deal with the HTML that is actually "out there", and
-it normally parses as closely as possible to the way the popular web
-browsers do it instead of strictly following one of the many HTML
-specifications from W3C. Where there is disagreement, there is often
-an option that you can enable to get the official behaviour.
-
-The document to be parsed may be supplied in arbitrary chunks. This
-makes on-the-fly parsing as documents are received from the network
-possible.
-
-If event driven parsing does not feel right for your application, you
-might want to use C<HTML::PullParser>. This is an C<HTML::Parser>
-subclass that allows a more conventional program structure.
-
-
-=head1 METHODS
-
-The following method is used to construct a new C<HTML::Parser> object:
-
-=over
-
-=item $p = HTML::Parser->new( %options_and_handlers )
-
-This class method creates a new C<HTML::Parser> object and
-returns it. Key/value argument pairs may be provided to assign event
-handlers or initialize parser options. The handlers and parser
-options can also be set or modified later by the method calls described below.
-
-If a top level key is in the form "<event>_h" (e.g., "text_h") then it
-assigns a handler to that event, otherwise it initializes a parser
-option. The event handler specification value must be an array
-reference. Multiple handlers may also be assigned with the 'handlers
-=> [%handlers]' option. See examples below.
-
-If new() is called without any arguments, it will create a parser that
-uses callback methods compatible with version 2 of C<HTML::Parser>.
-See the section on "version 2 compatibility" below for details.
-
-The special constructor option 'api_version => 2' can be used to
-initialize version 2 callbacks while still setting other options and
-handlers. The 'api_version => 3' option can be used if you don't want
-to set any options and don't want to fall back to v2 compatible
-mode.
-
-Examples:
-
- $p = HTML::Parser->new(api_version => 3,
- text_h => [ sub {...}, "dtext" ]);
-
-This creates a new parser object with a text event handler subroutine
-that receives the original text with general entities decoded.
-
- $p = HTML::Parser->new(api_version => 3,
- start_h => [ 'my_start', "self,tokens" ]);
-
-This creates a new parser object with a start event handler method
-that receives the $p and the tokens array.
-
- $p = HTML::Parser->new(api_version => 3,
- handlers => { text => [\@array, "event,text"],
- comment => [\@array, "event,text"],
- });
-
-This creates a new parser object that stores the event type and the
-original text in @array for text and comment events.
-
-=back
-
-The following methods feed the HTML document
-to the C<HTML::Parser> object:
-
-=over
-
-=item $p->parse( $string )
-
-Parse $string as the next chunk of the HTML document. The return
-value is normally a reference to the parser object (i.e. $p).
-Handlers invoked should not attempt to modify the $string in-place until
-$p->parse returns.
-
-If an invoked event handler aborts parsing by calling $p->eof, then
-$p->parse() will return a FALSE value.
-
-=item $p->parse( $code_ref )
-
-If a code reference is passed as the argument to be parsed, then the
-chunks to be parsed are obtained by invoking this function repeatedly.
-Parsing continues until the function returns an empty (or undefined)
-result. When this happens $p->eof is automatically signaled.
-
-Parsing will also abort if one of the event handlers calls $p->eof.
-
-The effect of this is the same as:
-
- while (1) {
- my $chunk = &$code_ref();
- if (!defined($chunk) || !length($chunk)) {
- $p->eof;
- return $p;
- }
- $p->parse($chunk) || return undef;
- }
-
-But it is more efficient as this loop runs internally in XS code.
-
-=item $p->parse_file( $file )
-
-Parse text directly from a file. The $file argument can be a
-filename, an open file handle, or a reference to an open file
-handle.
-
-If $file contains a filename and the file can't be opened, then the
-method returns an undefined value and $! tells why it failed.
-Otherwise the return value is a reference to the parser object.
-
-If a file handle is passed as the $file argument, then the file will
-normally be read until EOF, but not closed.
-
-If an invoked event handler aborts parsing by calling $p->eof,
-then $p->parse_file() may not have read the entire file.
-
-On systems with multi-byte line terminators, the values passed for the
-offset and length argspecs may be too low if parse_file() is called on
-a file handle that is not in binary mode.
-
-If a filename is passed in, then parse_file() will open the file in
-binary mode.
-
-=item $p->eof
-
-Signals the end of the HTML document. Calling the $p->eof method
-outside a handler callback will flush any remaining buffered text
-(which triggers the C<text> event if there is any remaining text).
-
-Calling $p->eof inside a handler will terminate parsing at that point
-and cause $p->parse to return a FALSE value. This also terminates
-parsing by $p->parse_file().
-
-After $p->eof has been called, the parse() and parse_file() methods
-can be invoked to feed new documents with the parser object.
-
-The return value from eof() is a reference to the parser object.
-
-=back
-
-
-Most parser options are controlled by boolean attributes.
-Each boolean attribute is enabled by calling the corresponding method
-with a TRUE argument and disabled with a FALSE argument. The
-attribute value is left unchanged if no argument is given. The return
-value from each method is the old attribute value.
-
-Methods that can be used to get and/or set parser options are:
-
-=over
-
-=item $p->attr_encoded
-
-=item $p->attr_encoded( $bool )
-
-By default, the C<attr> and C<@attr> argspecs will have general
-entities for attribute values decoded. Enabling this attribute leaves
-entities alone.
-
-=item $p->boolean_attribute_value( $val )
-
-This method sets the value reported for boolean attributes inside HTML
-start tags. By default, the name of the attribute is also used as its
-value. This affects the values reported for C<tokens> and C<attr>
-argspecs.
-
-=item $p->case_sensitive
-
-=item $p->case_sensitive( $bool )
-
-By default, tagnames and attribute names are down-cased. Enabling this
-attribute leaves them as found in the HTML source document.
-
-=item $p->closing_plaintext
-
-=item $p->closing_plaintext( $bool )
-
-By default, "plaintext" element can never be closed. Everything up to
-the end of the document is parsed in CDATA mode. This historical
-behaviour is what at least MSIE does. Enabling this attribute makes
-closing "</plaintext>" tag effective and the parsing process will resume
-after seeing this tag. This emulates gecko-based browsers.
-
-=item $p->empty_element_tags
-
-=item $p->empty_element_tags( $bool )
-
-By default, empty element tags are not recognized as such and the "/"
-before ">" is just treated like a normal name character (unless
-C<strict_names> is enabled). Enabling this attribute make
-C<HTML::Parser> recognize these tags.
-
-Empty element tags look like start tags, but end with the character
-sequence "/>" instead of ">". When recognized by C<HTML::Parser> they
-cause an artificial end event in addition to the start event. The
-C<text> for the artificial end event will be empty and the C<tokenpos>
-array will be undefined even though the the token array will have one
-element containing the tag name.
-
-=item $p->marked_sections
-
-=item $p->marked_sections( $bool )
-
-By default, section markings like <![CDATA[...]]> are treated like
-ordinary text. When this attribute is enabled section markings are
-honoured.
-
-There are currently no events associated with the marked section
-markup, but the text can be returned as C<skipped_text>.
-
-=item $p->strict_comment
-
-=item $p->strict_comment( $bool )
-
-By default, comments are terminated by the first occurrence of "-->".
-This is the behaviour of most popular browsers (like Mozilla, Opera and
-MSIE), but it is not correct according to the official HTML
-standard. Officially, you need an even number of "--" tokens before
-the closing ">" is recognized and there may not be anything but
-whitespace between an even and an odd "--".
-
-The official behaviour is enabled by enabling this attribute.
-
-Enabling of 'strict_comment' also disables recognizing these forms as
-comments:
-
- </ comment>
- <! comment>
-
-
-=item $p->strict_end
-
-=item $p->strict_end( $bool )
-
-By default, attributes and other junk are allowed to be present on end tags in a
-manner that emulates MSIE's behaviour.
-
-The official behaviour is enabled with this attribute. If enabled,
-only whitespace is allowed between the tagname and the final ">".
-
-=item $p->strict_names
-
-=item $p->strict_names( $bool )
-
-By default, almost anything is allowed in tag and attribute names.
-This is the behaviour of most popular browsers and allows us to parse
-some broken tags with invalid attribute values like:
-
- <IMG SRC=newprevlstGr.gif ALT=[PREV LIST] BORDER=0>
-
-By default, "LIST]" is parsed as a boolean attribute, not as
-part of the ALT value as was clearly intended. This is also what
-Mozilla sees.
-
-The official behaviour is enabled by enabling this attribute. If
-enabled, it will cause the tag above to be reported as text
-since "LIST]" is not a legal attribute name.
-
-=item $p->unbroken_text
-
-=item $p->unbroken_text( $bool )
-
-By default, blocks of text are given to the text handler as soon as
-possible (but the parser takes care always to break text at a
-boundary between whitespace and non-whitespace so single words and
-entities can always be decoded safely). This might create breaks that
-make it hard to do transformations on the text. When this attribute is
-enabled, blocks of text are always reported in one piece. This will
-delay the text event until the following (non-text) event has been
-recognized by the parser.
-
-Note that the C<offset> argspec will give you the offset of the first
-segment of text and C<length> is the combined length of the segments.
-Since there might be ignored tags in between, these numbers can't be
-used to directly index in the original document file.
-
-=item $p->utf8_mode
-
-=item $p->utf8_mode( $bool )
-
-Enable this option when parsing raw undecoded UTF-8. This tells the
-parser that the entities expanded for strings reported by C<attr>,
-C<@attr> and C<dtext> should be expanded as decoded UTF-8 so they end
-up compatible with the surrounding text.
-
-If C<utf8_mode> is enabled then it is an error to pass strings
-containing characters with code above 255 to the parse() method, and
-the parse() method will croak if you try.
-
-Example: The Unicode character "\x{2665}" is "\xE2\x99\xA5" when UTF-8
-encoded. The character can also be represented by the entity
-"&hearts;" or "&#x2665". If we feed the parser:
-
- $p->parse("\xE2\x99\xA5&hearts;");
-
-then C<dtext> will be reported as "\xE2\x99\xA5\x{2665}" without
-C<utf8_mode> enabled, but as "\xE2\x99\xA5\xE2\x99\xA5" when enabled.
-The later string is what you want.
-
-This option is only available with perl-5.8 or better.
-
-=item $p->xml_mode
-
-=item $p->xml_mode( $bool )
-
-Enabling this attribute changes the parser to allow some XML
-constructs. This enables the behaviour controlled by individually by
-the C<case_sensitive>, C<empty_element_tags>, C<strict_names> and
-C<xml_pic> attributes and also suppresses special treatment of
-elements that are parsed as CDATA for HTML.
-
-=item $p->xml_pic
-
-=item $p->xml_pic( $bool )
-
-By default, I<processing instructions> are terminated by ">". When
-this attribute is enabled, processing instructions are terminated by
-"?>" instead.
-
-=back
-
-As markup and text is recognized, handlers are invoked. The following
-method is used to set up handlers for different events:
-
-=over
-
-=item $p->handler( event => \&subroutine, $argspec )
-
-=item $p->handler( event => $method_name, $argspec )
-
-=item $p->handler( event => \@accum, $argspec )
-
-=item $p->handler( event => "" );
-
-=item $p->handler( event => undef );
-
-=item $p->handler( event );
-
-This method assigns a subroutine, method, or array to handle an event.
-
-Event is one of C<text>, C<start>, C<end>, C<declaration>, C<comment>,
-C<process>, C<start_document>, C<end_document> or C<default>.
-
-The C<\&subroutine> is a reference to a subroutine which is called to handle
-the event.
-
-The C<$method_name> is the name of a method of $p which is called to handle
-the event.
-
-The C<@accum> is an array that will hold the event information as
-sub-arrays.
-
-If the second argument is "", the event is ignored.
-If it is undef, the default handler is invoked for the event.
-
-The C<$argspec> is a string that describes the information to be reported
-for the event. Any requested information that does not apply to a
-specific event is passed as C<undef>. If argspec is omitted, then it
-is left unchanged.
-
-The return value from $p->handler is the old callback routine or a
-reference to the accumulator array.
-
-Any return values from handler callback routines/methods are always
-ignored. A handler callback can request parsing to be aborted by
-invoking the $p->eof method. A handler callback is not allowed to
-invoke the $p->parse() or $p->parse_file() method. An exception will
-be raised if it tries.
-
-Examples:
-
- $p->handler(start => "start", 'self, attr, attrseq, text' );
-
-This causes the "start" method of object $p to be called for 'start' events.
-The callback signature is $p->start(\%attr, \@attr_seq, $text).
-
- $p->handler(start => \&start, 'attr, attrseq, text' );
-
-This causes subroutine start() to be called for 'start' events.
-The callback signature is start(\%attr, \@attr_seq, $text).
-
- $p->handler(start => \@accum, '"S", attr, attrseq, text' );
-
-This causes 'start' event information to be saved in @accum.
-The array elements will be ['S', \%attr, \@attr_seq, $text].
-
- $p->handler(start => "");
-
-This causes 'start' events to be ignored. It also suppresses
-invocations of any default handler for start events. It is in most
-cases equivalent to $p->handler(start => sub {}), but is more
-efficient. It is different from the empty-sub-handler in that
-C<skipped_text> is not reset by it.
-
- $p->handler(start => undef);
-
-This causes no handler to be associated with start events.
-If there is a default handler it will be invoked.
-
-=back
-
-Filters based on tags can be set up to limit the number of events
-reported. The main bottleneck during parsing is often the huge number
-of callbacks made from the parser. Applying filters can improve
-performance significantly.
-
-The following methods control filters:
-
-=over
-
-=item $p->ignore_elements( @tags )
-
-Both the C<start> event and the C<end> event as well as any events that
-would be reported in between are suppressed. The ignored elements can
-contain nested occurrences of itself. Example:
-
- $p->ignore_elements(qw(script style));
-
-The C<script> and C<style> tags will always nest properly since their
-content is parsed in CDATA mode. For most other tags
-C<ignore_elements> must be used with caution since HTML is often not
-I<well formed>.
-
-=item $p->ignore_tags( @tags )
-
-Any C<start> and C<end> events involving any of the tags given are
-suppressed. To reset the filter (i.e. don't suppress any C<start> and
-C<end> events), call C<ignore_tags> without an argument.
-
-=item $p->report_tags( @tags )
-
-Any C<start> and C<end> events involving any of the tags I<not> given
-are suppressed. To reset the filter (i.e. report all C<start> and
-C<end> events), call C<report_tags> without an argument.
-
-=back
-
-Internally, the system has two filter lists, one for C<report_tags>
-and one for C<ignore_tags>, and both filters are applied. This
-effectively gives C<ignore_tags> precedence over C<report_tags>.
-
-Examples:
-
- $p->ignore_tags(qw(style));
- $p->report_tags(qw(script style));
-
-results in only C<script> events being reported.
-
-=head2 Argspec
-
-Argspec is a string containing a comma-separated list that describes
-the information reported by the event. The following argspec
-identifier names can be used:
-
-=over
-
-=item C<attr>
-
-Attr causes a reference to a hash of attribute name/value pairs to be
-passed.
-
-Boolean attributes' values are either the value set by
-$p->boolean_attribute_value, or the attribute name if no value has been
-set by $p->boolean_attribute_value.
-
-This passes undef except for C<start> events.
-
-Unless C<xml_mode> or C<case_sensitive> is enabled, the attribute
-names are forced to lower case.
-
-General entities are decoded in the attribute values and
-one layer of matching quotes enclosing the attribute values is removed.
-
-The Unicode character set is assumed for entity decoding. With Perl
-version 5.6 or earlier only the Latin-1 range is supported, and
-entities for characters outside the range 0..255 are left unchanged.
-
-=item C<@attr>
-
-Basically the same as C<attr>, but keys and values are passed as
-individual arguments and the original sequence of the attributes is
-kept. The parameters passed will be the same as the @attr calculated
-here:
-
- @attr = map { $_ => $attr->{$_} } @$attrseq;
-
-assuming $attr and $attrseq here are the hash and array passed as the
-result of C<attr> and C<attrseq> argspecs.
-
-This passes no values for events besides C<start>.
-
-=item C<attrseq>
-
-Attrseq causes a reference to an array of attribute names to be
-passed. This can be useful if you want to walk the C<attr> hash in
-the original sequence.
-
-This passes undef except for C<start> events.
-
-Unless C<xml_mode> or C<case_sensitive> is enabled, the attribute
-names are forced to lower case.
-
-=item C<column>
-
-Column causes the column number of the start of the event to be passed.
-The first column on a line is 0.
-
-=item C<dtext>
-
-Dtext causes the decoded text to be passed. General entities are
-automatically decoded unless the event was inside a CDATA section or
-was between literal start and end tags (C<script>, C<style>,
-C<xmp>, and C<plaintext>).
-
-The Unicode character set is assumed for entity decoding. With Perl
-version 5.6 or earlier only the Latin-1 range is supported, and
-entities for characters outside the range 0..255 are left unchanged.
-
-This passes undef except for C<text> events.
-
-=item C<event>
-
-Event causes the event name to be passed.
-
-The event name is one of C<text>, C<start>, C<end>, C<declaration>,
-C<comment>, C<process>, C<start_document> or C<end_document>.
-
-=item C<is_cdata>
-
-Is_cdata causes a TRUE value to be passed if the event is inside a CDATA
-section or between literal start and end tags (C<script>,
-C<style>, C<xmp>, and C<plaintext>).
-
-if the flag is FALSE for a text event, then you should normally
-either use C<dtext> or decode the entities yourself before the text is
-processed further.
-
-=item C<length>
-
-Length causes the number of bytes of the source text of the event to
-be passed.
-
-=item C<line>
-
-Line causes the line number of the start of the event to be passed.
-The first line in the document is 1. Line counting doesn't start
-until at least one handler requests this value to be reported.
-
-=item C<offset>
-
-Offset causes the byte position in the HTML document of the start of
-the event to be passed. The first byte in the document has offset 0.
-
-=item C<offset_end>
-
-Offset_end causes the byte position in the HTML document of the end of
-the event to be passed. This is the same as C<offset> + C<length>.
-
-=item C<self>
-
-Self causes the current object to be passed to the handler. If the
-handler is a method, this must be the first element in the argspec.
-
-An alternative to passing self as an argspec is to register closures
-that capture $self by themselves as handlers. Unfortunately this
-creates circular references which prevent the HTML::Parser object
-from being garbage collected. Using the C<self> argspec avoids this
-problem.
-
-=item C<skipped_text>
-
-Skipped_text returns the concatenated text of all the events that have
-been skipped since the last time an event was reported. Events might
-be skipped because no handler is registered for them or because some
-filter applies. Skipped text also includes marked section markup,
-since there are no events that can catch it.
-
-If an C<"">-handler is registered for an event, then the text for this
-event is not included in C<skipped_text>. Skipped text both before
-and after the C<"">-event is included in the next reported
-C<skipped_text>.
-
-=item C<tag>
-
-Same as C<tagname>, but prefixed with "/" if it belongs to an C<end>
-event and "!" for a declaration. The C<tag> does not have any prefix
-for C<start> events, and is in this case identical to C<tagname>.
-
-=item C<tagname>
-
-This is the element name (or I<generic identifier> in SGML jargon) for
-start and end tags. Since HTML is case insensitive, this name is
-forced to lower case to ease string matching.
-
-Since XML is case sensitive, the tagname case is not changed when
-C<xml_mode> is enabled. The same happens if the C<case_sensitive> attribute
-is set.
-
-The declaration type of declaration elements is also passed as a tagname,
-even if that is a bit strange.
-In fact, in the current implementation tagname is
-identical to C<token0> except that the name may be forced to lower case.
-
-=item C<token0>
-
-Token0 causes the original text of the first token string to be
-passed. This should always be the same as $tokens->[0].
-
-For C<declaration> events, this is the declaration type.
-
-For C<start> and C<end> events, this is the tag name.
-
-For C<process> and non-strict C<comment> events, this is everything
-inside the tag.
-
-This passes undef if there are no tokens in the event.
-
-=item C<tokenpos>
-
-Tokenpos causes a reference to an array of token positions to be
-passed. For each string that appears in C<tokens>, this array
-contains two numbers. The first number is the offset of the start of
-the token in the original C<text> and the second number is the length
-of the token.
-
-Boolean attributes in a C<start> event will have (0,0) for the
-attribute value offset and length.
-
-This passes undef if there are no tokens in the event (e.g., C<text>)
-and for artificial C<end> events triggered by empty element tags.
-
-If you are using these offsets and lengths to modify C<text>, you
-should either work from right to left, or be very careful to calculate
-the changes to the offsets.
-
-=item C<tokens>
-
-Tokens causes a reference to an array of token strings to be passed.
-The strings are exactly as they were found in the original text,
-no decoding or case changes are applied.
-
-For C<declaration> events, the array contains each word, comment, and
-delimited string starting with the declaration type.
-
-For C<comment> events, this contains each sub-comment. If
-$p->strict_comments is disabled, there will be only one sub-comment.
-
-For C<start> events, this contains the original tag name followed by
-the attribute name/value pairs. The values of boolean attributes will
-be either the value set by $p->boolean_attribute_value, or the
-attribute name if no value has been set by
-$p->boolean_attribute_value.
-
-For C<end> events, this contains the original tag name (always one token).
-
-For C<process> events, this contains the process instructions (always one
-token).
-
-This passes C<undef> for C<text> events.
-
-=item C<text>
-
-Text causes the source text (including markup element delimiters) to be
-passed.
-
-=item C<undef>
-
-Pass an undefined value. Useful as padding where the same handler
-routine is registered for multiple events.
-
-=item C<'...'>
-
-A literal string of 0 to 255 characters enclosed
-in single (') or double (") quotes is passed as entered.
-
-=back
-
-The whole argspec string can be wrapped up in C<'@{...}'> to signal
-that the resulting event array should be flattened. This only makes a
-difference if an array reference is used as the handler target.
-Consider this example:
-
- $p->handler(text => [], 'text');
- $p->handler(text => [], '@{text}']);
-
-With two text events; C<"foo">, C<"bar">; then the first example will end
-up with [["foo"], ["bar"]] and the second with ["foo", "bar"] in
-the handler target array.
-
-
-=head2 Events
-
-Handlers for the following events can be registered:
-
-=over
-
-=item C<comment>
-
-This event is triggered when a markup comment is recognized.
-
-Example:
-
- <!-- This is a comment -- -- So is this -->
-
-=item C<declaration>
-
-This event is triggered when a I<markup declaration> is recognized.
-
-For typical HTML documents, the only declaration you are
-likely to find is <!DOCTYPE ...>.
-
-Example:
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "http://www.w3.org/TR/html40/strict.dtd">
-
-DTDs inside <!DOCTYPE ...> will confuse HTML::Parser.
-
-=item C<default>
-
-This event is triggered for events that do not have a specific
-handler. You can set up a handler for this event to catch stuff you
-did not want to catch explicitly.
-
-=item C<end>
-
-This event is triggered when an end tag is recognized.
-
-Example:
-
- </A>
-
-=item C<end_document>
-
-This event is triggered when $p->eof is called and after any remaining
-text is flushed. There is no document text associated with this event.
-
-=item C<process>
-
-This event is triggered when a processing instructions markup is
-recognized.
-
-The format and content of processing instructions are system and
-application dependent.
-
-Examples:
-
- <? HTML processing instructions >
- <? XML processing instructions ?>
-
-=item C<start>
-
-This event is triggered when a start tag is recognized.
-
-Example:
-
- <A HREF="http://www.perl.com/">
-
-=item C<start_document>
-
-This event is triggered before any other events for a new document. A
-handler for it can be used to initialize stuff. There is no document
-text associated with this event.
-
-=item C<text>
-
-This event is triggered when plain text (characters) is recognized.
-The text may contain multiple lines. A sequence of text may be broken
-between several text events unless $p->unbroken_text is enabled.
-
-The parser will make sure that it does not break a word or a sequence
-of whitespace between two text events.
-
-=back
-
-=head2 Unicode
-
-The C<HTML::Parser> can parse Unicode strings when running under
-perl-5.8 or better. If Unicode is passed to $p->parse() then chunks
-of Unicode will be reported to the handlers. The offset and length
-argspecs will also report their position in terms of characters.
-
-It is safe to parse raw undecoded UTF-8 if you either avoid decoding
-entities and make sure to not use I<argspecs> that do, or enable the
-C<utf8_mode> for the parser. Parsing of undecoded UTF-8 might be
-useful when parsing from a file where you need the reported offsets
-and lengths to match the byte offsets in the file.
-
-If a filename is passed to $p->parse_file() then the file will be read
-in binary mode. This will be fine if the file contains only ASCII or
-Latin-1 characters. If the file contains UTF-8 encoded text then care
-must be taken when decoding entities as described in the previous
-paragraph, but better is to open the file with the UTF-8 layer so that
-it is decoded properly:
-
- open(my $fh, "<:utf8", "index.html") || die "...: $!";
- $p->parse_file($fh);
-
-If the file contains text encoded in a charset besides ASCII, Latin-1
-or UTF-8 then decoding will always be needed.
-
-=head1 VERSION 2 COMPATIBILITY
-
-When an C<HTML::Parser> object is constructed with no arguments, a set
-of handlers is automatically provided that is compatible with the old
-HTML::Parser version 2 callback methods.
-
-This is equivalent to the following method calls:
-
- $p->handler(start => "start", "self, tagname, attr, attrseq, text");
- $p->handler(end => "end", "self, tagname, text");
- $p->handler(text => "text", "self, text, is_cdata");
- $p->handler(process => "process", "self, token0, text");
- $p->handler(comment =>
- sub {
- my($self, $tokens) = @_;
- for (@$tokens) {$self->comment($_);}},
- "self, tokens");
- $p->handler(declaration =>
- sub {
- my $self = shift;
- $self->declaration(substr($_[0], 2, -1));},
- "self, text");
-
-Setting up these handlers can also be requested with the "api_version =>
-2" constructor option.
-
-=head1 SUBCLASSING
-
-The C<HTML::Parser> class is subclassable. Parser objects are plain
-hashes and C<HTML::Parser> reserves only hash keys that start with
-"_hparser". The parser state can be set up by invoking the init()
-method, which takes the same arguments as new().
-
-=head1 EXAMPLES
-
-The first simple example shows how you might strip out comments from
-an HTML document. We achieve this by setting up a comment handler that
-does nothing and a default handler that will print out anything else:
-
- use HTML::Parser;
- HTML::Parser->new(default_h => [sub { print shift }, 'text'],
- comment_h => [""],
- )->parse_file(shift || die) || die $!;
-
-An alternative implementation is:
-
- use HTML::Parser;
- HTML::Parser->new(end_document_h => [sub { print shift },
- 'skipped_text'],
- comment_h => [""],
- )->parse_file(shift || die) || die $!;
-
-This will in most cases be much more efficient since only a single
-callback will be made.
-
-The next example prints out the text that is inside the <title>
-element of an HTML document. Here we start by setting up a start
-handler. When it sees the title start tag it enables a text handler
-that prints any text found and an end handler that will terminate
-parsing as soon as the title end tag is seen:
-
- use HTML::Parser ();
-
- sub start_handler
- {
- return if shift ne "title";
- my $self = shift;
- $self->handler(text => sub { print shift }, "dtext");
- $self->handler(end => sub { shift->eof if shift eq "title"; },
- "tagname,self");
- }
-
- my $p = HTML::Parser->new(api_version => 3);
- $p->handler( start => \&start_handler, "tagname,self");
- $p->parse_file(shift || die) || die $!;
- print "\n";
-
-More examples are found in the F<eg/> directory of the C<HTML-Parser>
-distribution: the program C<hrefsub> shows how you can edit all links
-found in a document; the program C<htextsub> shows how to edit the text only; the
-program C<hstrip> shows how you can strip out certain tags/elements
-and/or attributes; and the program C<htext> show how to obtain the
-plain text, but not any script/style content.
-
-You can browse the F<eg/> directory online from the I<[Browse]> link on
-the http://search.cpan.org/~gaas/HTML-Parser/ page.
-
-=head1 BUGS
-
-The <style> and <script> sections do not end with the first "</", but
-need the complete corresponding end tag. The standard behaviour is
-not really practical.
-
-When the I<strict_comment> option is enabled, we still recognize
-comments where there is something other than whitespace between even
-and odd "--" markers.
-
-Once $p->boolean_attribute_value has been set, there is no way to
-restore the default behaviour.
-
-There is currently no way to get both quote characters
-into the same literal argspec.
-
-Empty tags, e.g. "<>" and "</>", are not recognized. SGML allows them
-to repeat the previous start tag or close the previous start tag
-respectively.
-
-NET tags, e.g. "code/.../" are not recognized. This is SGML
-shorthand for "<code>...</code>".
-
-Unclosed start or end tags, e.g. "<tt<b>...</b</tt>" are not
-recognized.
-
-=head1 DIAGNOSTICS
-
-The following messages may be produced by HTML::Parser. The notation
-in this listing is the same as used in L<perldiag>:
-
-=over
-
-=item Not a reference to a hash
-
-(F) The object blessed into or subclassed from HTML::Parser is not a
-hash as required by the HTML::Parser methods.
-
-=item Bad signature in parser state object at %p
-
-(F) The _hparser_xs_state element does not refer to a valid state structure.
-Something must have changed the internal value
-stored in this hash element, or the memory has been overwritten.
-
-=item _hparser_xs_state element is not a reference
-
-(F) The _hparser_xs_state element has been destroyed.
-
-=item Can't find '_hparser_xs_state' element in HTML::Parser hash
-
-(F) The _hparser_xs_state element is missing from the parser hash.
-It was either deleted, or not created when the object was created.
-
-=item API version %s not supported by HTML::Parser %s
-
-(F) The constructor option 'api_version' with an argument greater than
-or equal to 4 is reserved for future extensions.
-
-=item Bad constructor option '%s'
-
-(F) An unknown constructor option key was passed to the new() or
-init() methods.
-
-=item Parse loop not allowed
-
-(F) A handler invoked the parse() or parse_file() method.
-This is not permitted.
-
-=item marked sections not supported
-
-(F) The $p->marked_sections() method was invoked in a HTML::Parser
-module that was compiled without support for marked sections.
-
-=item Unknown boolean attribute (%d)
-
-(F) Something is wrong with the internal logic that set up aliases for
-boolean attributes.
-
-=item Only code or array references allowed as handler
-
-(F) The second argument for $p->handler must be either a subroutine
-reference, then name of a subroutine or method, or a reference to an
-array.
-
-=item No handler for %s events
-
-(F) The first argument to $p->handler must be a valid event name; i.e. one
-of "start", "end", "text", "process", "declaration" or "comment".
-
-=item Unrecognized identifier %s in argspec
-
-(F) The identifier is not a known argspec name.
-Use one of the names mentioned in the argspec section above.
-
-=item Literal string is longer than 255 chars in argspec
-
-(F) The current implementation limits the length of literals in
-an argspec to 255 characters. Make the literal shorter.
-
-=item Backslash reserved for literal string in argspec
-
-(F) The backslash character "\" is not allowed in argspec literals.
-It is reserved to permit quoting inside a literal in a later version.
-
-=item Unterminated literal string in argspec
-
-(F) The terminating quote character for a literal was not found.
-
-=item Bad argspec (%s)
-
-(F) Only identifier names, literals, spaces and commas
-are allowed in argspecs.
-
-=item Missing comma separator in argspec
-
-(F) Identifiers in an argspec must be separated with ",".
-
-=item Parsing of undecoded UTF-8 will give garbage when decoding entities
-
-(W) The first chunk parsed appears to contain undecoded UTF-8 and one
-or more argspecs that decode entities are used for the callback
-handlers.
-
-The result of decoding will be a mix of encoded and decoded characters
-for any entities that expand to characters with code above 127. This
-is not a good thing.
-
-The solution is to use the Encode::encode_utf8() on the data before
-feeding it to the $p->parse(). For $p->parse_file() pass a file that
-has been opened in ":utf8" mode.
-
-The parser can process raw undecoded UTF-8 sanely if the C<utf8_mode>
-is enabled or if the "attr", "@attr" or "dtext" argspecs is avoided.
-
-=item Parsing string decoded with wrong endianess
-
-(W) The first character in the document is U+FFFE. This is not a
-legal Unicode character but a byte swapped BOM. The result of parsing
-will likely be garbage.
-
-=item Parsing of undecoded UTF-32
-
-(W) The parser found the Unicode UTF-32 BOM signature at the start
-of the document. The result of parsing will likely be garbage.
-
-=item Parsing of undecoded UTF-16
-
-(W) The parser found the Unicode UTF-16 BOM signature at the start of
-the document. The result of parsing will likely be garbage.
-
-=back
-
-=head1 SEE ALSO
-
-L<HTML::Entities>, L<HTML::PullParser>, L<HTML::TokeParser>, L<HTML::HeadParser>,
-L<HTML::LinkExtor>, L<HTML::Form>
-
-L<HTML::TreeBuilder> (part of the I<HTML-Tree> distribution)
-
-http://www.w3.org/TR/html4
-
-More information about marked sections and processing instructions may
-be found at C<http://www.sgml.u-net.com/book/sgml-8.htm>.
-
-=head1 COPYRIGHT
-
- Copyright 1996-2007 Gisle Aas. All rights reserved.
- Copyright 1999-2000 Michael A. Chase. All rights reserved.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/PullParser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/PullParser.pm
deleted file mode 100644
index e851fe001d4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/PullParser.pm
+++ /dev/null
@@ -1,211 +0,0 @@
-package HTML::PullParser;
-
-# $Id: PullParser.pm,v 2.9 2006/04/26 08:00:28 gisle Exp $
-
-require HTML::Parser;
-@ISA=qw(HTML::Parser);
-$VERSION = sprintf("%d.%02d", q$Revision: 2.9 $ =~ /(\d+)\.(\d+)/);
-
-use strict;
-use Carp ();
-
-sub new
-{
- my($class, %cnf) = @_;
-
- # Construct argspecs for the various events
- my %argspec;
- for (qw(start end text declaration comment process default)) {
- my $tmp = delete $cnf{$_};
- next unless defined $tmp;
- $argspec{$_} = $tmp;
- }
- Carp::croak("Info not collected for any events")
- unless %argspec;
-
- my $file = delete $cnf{file};
- my $doc = delete $cnf{doc};
- Carp::croak("Can't parse from both 'doc' and 'file' at the same time")
- if defined($file) && defined($doc);
- Carp::croak("No 'doc' or 'file' given to parse from")
- unless defined($file) || defined($doc);
-
- # Create object
- $cnf{api_version} = 3;
- my $self = $class->SUPER::new(%cnf);
-
- my $accum = $self->{pullparser_accum} = [];
- while (my($event, $argspec) = each %argspec) {
- $self->SUPER::handler($event => $accum, $argspec);
- }
-
- if (defined $doc) {
- $self->{pullparser_str_ref} = ref($doc) ? $doc : \$doc;
- $self->{pullparser_str_pos} = 0;
- }
- else {
- if (!ref($file) && ref(\$file) ne "GLOB") {
- require IO::File;
- $file = IO::File->new($file, "r") || return;
- }
-
- $self->{pullparser_file} = $file;
- }
- $self;
-}
-
-
-sub handler
-{
- Carp::croak("Can't set handlers for HTML::PullParser");
-}
-
-
-sub get_token
-{
- my $self = shift;
- while (!@{$self->{pullparser_accum}} && !$self->{pullparser_eof}) {
- if (my $f = $self->{pullparser_file}) {
- # must try to parse more from the file
- my $buf;
- if (read($f, $buf, 512)) {
- $self->parse($buf);
- } else {
- $self->eof;
- $self->{pullparser_eof}++;
- delete $self->{pullparser_file};
- }
- }
- elsif (my $sref = $self->{pullparser_str_ref}) {
- # must try to parse more from the scalar
- my $pos = $self->{pullparser_str_pos};
- my $chunk = substr($$sref, $pos, 512);
- $self->parse($chunk);
- $pos += length($chunk);
- if ($pos < length($$sref)) {
- $self->{pullparser_str_pos} = $pos;
- }
- else {
- $self->eof;
- $self->{pullparser_eof}++;
- delete $self->{pullparser_str_ref};
- delete $self->{pullparser_str_pos};
- }
- }
- else {
- die;
- }
- }
- shift @{$self->{pullparser_accum}};
-}
-
-
-sub unget_token
-{
- my $self = shift;
- unshift @{$self->{pullparser_accum}}, @_;
- $self;
-}
-
-1;
-
-
-__END__
-
-=head1 NAME
-
-HTML::PullParser - Alternative HTML::Parser interface
-
-=head1 SYNOPSIS
-
- use HTML::PullParser;
-
- $p = HTML::PullParser->new(file => "index.html",
- start => 'event, tagname, @attr',
- end => 'event, tagname',
- ignore_elements => [qw(script style)],
- ) || die "Can't open: $!";
- while (my $token = $p->get_token) {
- #...do something with $token
- }
-
-=head1 DESCRIPTION
-
-The HTML::PullParser is an alternative interface to the HTML::Parser class.
-It basically turns the HTML::Parser inside out. You associate a file
-(or any IO::Handle object or string) with the parser at construction time and
-then repeatedly call $parser->get_token to obtain the tags and text
-found in the parsed document.
-
-The following methods are provided:
-
-=over 4
-
-=item $p = HTML::PullParser->new( file => $file, %options )
-
-=item $p = HTML::PullParser->new( doc => \$doc, %options )
-
-A C<HTML::PullParser> can be made to parse from either a file or a
-literal document based on whether the C<file> or C<doc> option is
-passed to the parser's constructor.
-
-The C<file> passed in can either be a file name or a file handle
-object. If a file name is passed, and it can't be opened for reading,
-then the constructor will return an undefined value and $! will tell
-you why it failed. Otherwise the argument is taken to be some object
-that the C<HTML::PullParser> can read() from when it needs more data.
-The stream will be read() until EOF, but not closed.
-
-A C<doc> can be passed plain or as a reference
-to a scalar. If a reference is passed then the value of this scalar
-should not be changed before all tokens have been extracted.
-
-Next the information to be returned for the different token types must
-be set up. This is done by simply associating an argspec (as defined
-in L<HTML::Parser>) with the events you have an interest in. For
-instance, if you want C<start> tokens to be reported as the string
-C<'S'> followed by the tagname and the attributes you might pass an
-C<start>-option like this:
-
- $p = HTML::PullParser->new(
- doc => $document_to_parse,
- start => '"S", tagname, @attr',
- end => '"E", tagname',
- );
-
-At last other C<HTML::Parser> options, like C<ignore_tags>, and
-C<unbroken_text>, can be passed in. Note that you should not use the
-I<event>_h options to set up parser handlers. That would confuse the
-inner logic of C<HTML::PullParser>.
-
-=item $token = $p->get_token
-
-This method will return the next I<token> found in the HTML document,
-or C<undef> at the end of the document. The token is returned as an
-array reference. The content of this array match the argspec set up
-during C<HTML::PullParser> construction.
-
-=item $p->unget_token( @tokens )
-
-If you find out you have read too many tokens you can push them back,
-so that they are returned again the next time $p->get_token is called.
-
-=back
-
-=head1 EXAMPLES
-
-The 'eg/hform' script shows how we might parse the form section of
-HTML::Documents using HTML::PullParser.
-
-=head1 SEE ALSO
-
-L<HTML::Parser>, L<HTML::TokeParser>
-
-=head1 COPYRIGHT
-
-Copyright 1998-2001 Gisle Aas.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/TokeParser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/TokeParser.pm
deleted file mode 100644
index a1b8837cb4d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/TokeParser.pm
+++ /dev/null
@@ -1,371 +0,0 @@
-package HTML::TokeParser;
-
-# $Id: TokeParser.pm,v 2.37 2006/04/26 08:00:28 gisle Exp $
-
-require HTML::PullParser;
-@ISA=qw(HTML::PullParser);
-$VERSION = sprintf("%d.%02d", q$Revision: 2.37 $ =~ /(\d+)\.(\d+)/);
-
-use strict;
-use Carp ();
-use HTML::Entities qw(decode_entities);
-use HTML::Tagset ();
-
-my %ARGS =
-(
- start => "'S',tagname,attr,attrseq,text",
- end => "'E',tagname,text",
- text => "'T',text,is_cdata",
- process => "'PI',token0,text",
- comment => "'C',text",
- declaration => "'D',text",
-
- # options that default on
- unbroken_text => 1,
-);
-
-
-sub new
-{
- my $class = shift;
- my %cnf;
- if (@_ == 1) {
- my $type = (ref($_[0]) eq "SCALAR") ? "doc" : "file";
- %cnf = ($type => $_[0]);
- }
- else {
- %cnf = @_;
- }
-
- my $textify = delete $cnf{textify} || {img => "alt", applet => "alt"};
-
- my $self = $class->SUPER::new(%cnf, %ARGS) || return undef;
-
- $self->{textify} = $textify;
- $self;
-}
-
-
-sub get_tag
-{
- my $self = shift;
- my $token;
- while (1) {
- $token = $self->get_token || return undef;
- my $type = shift @$token;
- next unless $type eq "S" || $type eq "E";
- substr($token->[0], 0, 0) = "/" if $type eq "E";
- return $token unless @_;
- for (@_) {
- return $token if $token->[0] eq $_;
- }
- }
-}
-
-
-sub _textify {
- my($self, $token) = @_;
- my $tag = $token->[1];
- return undef unless exists $self->{textify}{$tag};
-
- my $alt = $self->{textify}{$tag};
- my $text;
- if (ref($alt)) {
- $text = &$alt(@$token);
- } else {
- $text = $token->[2]{$alt || "alt"};
- $text = "[\U$tag]" unless defined $text;
- }
- return $text;
-}
-
-
-sub get_text
-{
- my $self = shift;
- my @text;
- while (my $token = $self->get_token) {
- my $type = $token->[0];
- if ($type eq "T") {
- my $text = $token->[1];
- decode_entities($text) unless $token->[2];
- push(@text, $text);
- } elsif ($type =~ /^[SE]$/) {
- my $tag = $token->[1];
- if ($type eq "S") {
- if (defined(my $text = _textify($self, $token))) {
- push(@text, $text);
- next;
- }
- } else {
- $tag = "/$tag";
- }
- if (!@_ || grep $_ eq $tag, @_) {
- $self->unget_token($token);
- last;
- }
- push(@text, " ")
- if $tag eq "br" || !$HTML::Tagset::isPhraseMarkup{$token->[1]};
- }
- }
- join("", @text);
-}
-
-
-sub get_trimmed_text
-{
- my $self = shift;
- my $text = $self->get_text(@_);
- $text =~ s/^\s+//; $text =~ s/\s+$//; $text =~ s/\s+/ /g;
- $text;
-}
-
-sub get_phrase {
- my $self = shift;
- my @text;
- while (my $token = $self->get_token) {
- my $type = $token->[0];
- if ($type eq "T") {
- my $text = $token->[1];
- decode_entities($text) unless $token->[2];
- push(@text, $text);
- } elsif ($type =~ /^[SE]$/) {
- my $tag = $token->[1];
- if ($type eq "S") {
- if (defined(my $text = _textify($self, $token))) {
- push(@text, $text);
- next;
- }
- }
- if (!$HTML::Tagset::isPhraseMarkup{$tag}) {
- $self->unget_token($token);
- last;
- }
- push(@text, " ") if $tag eq "br";
- }
- }
- my $text = join("", @text);
- $text =~ s/^\s+//; $text =~ s/\s+$//; $text =~ s/\s+/ /g;
- $text;
-}
-
-1;
-
-
-__END__
-
-=head1 NAME
-
-HTML::TokeParser - Alternative HTML::Parser interface
-
-=head1 SYNOPSIS
-
- require HTML::TokeParser;
- $p = HTML::TokeParser->new("index.html") ||
- die "Can't open: $!";
- $p->empty_element_tags(1); # configure its behaviour
-
- while (my $token = $p->get_token) {
- #...
- }
-
-=head1 DESCRIPTION
-
-The C<HTML::TokeParser> is an alternative interface to the
-C<HTML::Parser> class. It is an C<HTML::PullParser> subclass with a
-predeclared set of token types. If you wish the tokens to be reported
-differently you probably want to use the C<HTML::PullParser> directly.
-
-The following methods are available:
-
-=over 4
-
-=item $p = HTML::TokeParser->new( $filename, %opt );
-
-=item $p = HTML::TokeParser->new( $filehandle, %opt );
-
-=item $p = HTML::TokeParser->new( \$document, %opt );
-
-The object constructor argument is either a file name, a file handle
-object, or the complete document to be parsed. Extra options can be
-provided as key/value pairs and are processed as documented by the base
-classes.
-
-If the argument is a plain scalar, then it is taken as the name of a
-file to be opened and parsed. If the file can't be opened for
-reading, then the constructor will return C<undef> and $! will tell
-you why it failed.
-
-If the argument is a reference to a plain scalar, then this scalar is
-taken to be the literal document to parse. The value of this
-scalar should not be changed before all tokens have been extracted.
-
-Otherwise the argument is taken to be some object that the
-C<HTML::TokeParser> can read() from when it needs more data. Typically
-it will be a filehandle of some kind. The stream will be read() until
-EOF, but not closed.
-
-A newly constructed C<HTML::TokeParser> differ from its base classes
-by having the C<unbroken_text> attribute enabled by default. See
-L<HTML::Parser> for a description of this and other attributes that
-influence how the document is parsed. It is often a good idea to enable
-C<empty_element_tags> behaviour.
-
-Note that the parsing result will likely not be valid if raw undecoded
-UTF-8 is used as a source. When parsing UTF-8 encoded files turn
-on UTF-8 decoding:
-
- open(my $fh, "<:utf8", "index.html") || die "Can't open 'index.html': $!";
- my $p = HTML::TokeParser->new( $fh );
- # ...
-
-If a $filename is passed to the constructor the file will be opened in
-raw mode and the parsing result will only be valid if its content is
-Latin-1 or pure ASCII.
-
-If parsing from an UTF-8 encoded string buffer decode it first:
-
- utf8::decode($document);
- my $p = HTML::TokeParser->new( \$document );
- # ...
-
-=item $p->get_token
-
-This method will return the next I<token> found in the HTML document,
-or C<undef> at the end of the document. The token is returned as an
-array reference. The first element of the array will be a string
-denoting the type of this token: "S" for start tag, "E" for end tag,
-"T" for text, "C" for comment, "D" for declaration, and "PI" for
-process instructions. The rest of the token array depend on the type
-like this:
-
- ["S", $tag, $attr, $attrseq, $text]
- ["E", $tag, $text]
- ["T", $text, $is_data]
- ["C", $text]
- ["D", $text]
- ["PI", $token0, $text]
-
-where $attr is a hash reference, $attrseq is an array reference and
-the rest are plain scalars. The L<HTML::Parser/Argspec> explains the
-details.
-
-=item $p->unget_token( @tokens )
-
-If you find you have read too many tokens you can push them back,
-so that they are returned the next time $p->get_token is called.
-
-=item $p->get_tag
-
-=item $p->get_tag( @tags )
-
-This method returns the next start or end tag (skipping any other
-tokens), or C<undef> if there are no more tags in the document. If
-one or more arguments are given, then we skip tokens until one of the
-specified tag types is found. For example:
-
- $p->get_tag("font", "/font");
-
-will find the next start or end tag for a font-element.
-
-The tag information is returned as an array reference in the same form
-as for $p->get_token above, but the type code (first element) is
-missing. A start tag will be returned like this:
-
- [$tag, $attr, $attrseq, $text]
-
-The tagname of end tags are prefixed with "/", i.e. end tag is
-returned like this:
-
- ["/$tag", $text]
-
-=item $p->get_text
-
-=item $p->get_text( @endtags )
-
-This method returns all text found at the current position. It will
-return a zero length string if the next token is not text. Any
-entities will be converted to their corresponding character.
-
-If one or more arguments are given, then we return all text occurring
-before the first of the specified tags found. For example:
-
- $p->get_text("p", "br");
-
-will return the text up to either a paragraph of linebreak element.
-
-The text might span tags that should be I<textified>. This is
-controlled by the $p->{textify} attribute, which is a hash that
-defines how certain tags can be treated as text. If the name of a
-start tag matches a key in this hash then this tag is converted to
-text. The hash value is used to specify which tag attribute to obtain
-the text from. If this tag attribute is missing, then the upper case
-name of the tag enclosed in brackets is returned, e.g. "[IMG]". The
-hash value can also be a subroutine reference. In this case the
-routine is called with the start tag token content as its argument and
-the return value is treated as the text.
-
-The default $p->{textify} value is:
-
- {img => "alt", applet => "alt"}
-
-This means that <IMG> and <APPLET> tags are treated as text, and that
-the text to substitute can be found in the ALT attribute.
-
-=item $p->get_trimmed_text
-
-=item $p->get_trimmed_text( @endtags )
-
-Same as $p->get_text above, but will collapse any sequences of white
-space to a single space character. Leading and trailing white space is
-removed.
-
-=item $p->get_phrase
-
-This will return all text found at the current position ignoring any
-phrasal-level tags. Text is extracted until the first non
-phrasal-level tag. Textification of tags is the same as for
-get_text(). This method will collapse white space in the same way as
-get_trimmed_text() does.
-
-The definition of <i>phrasal-level tags</i> is obtained from the
-HTML::Tagset module.
-
-=back
-
-=head1 EXAMPLES
-
-This example extracts all links from a document. It will print one
-line for each link, containing the URL and the textual description
-between the <A>...</A> tags:
-
- use HTML::TokeParser;
- $p = HTML::TokeParser->new(shift||"index.html");
-
- while (my $token = $p->get_tag("a")) {
- my $url = $token->[1]{href} || "-";
- my $text = $p->get_trimmed_text("/a");
- print "$url\t$text\n";
- }
-
-This example extract the <TITLE> from the document:
-
- use HTML::TokeParser;
- $p = HTML::TokeParser->new(shift||"index.html");
- if ($p->get_tag("title")) {
- my $title = $p->get_trimmed_text;
- print "Title: $title\n";
- }
-
-=head1 SEE ALSO
-
-L<HTML::PullParser>, L<HTML::Parser>
-
-=head1 COPYRIGHT
-
-Copyright 1998-2005 Gisle Aas.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Math/BigInt/FastCalc.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Math/BigInt/FastCalc.pm
deleted file mode 100644
index 2b4aea58dc2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Math/BigInt/FastCalc.pm
+++ /dev/null
@@ -1,125 +0,0 @@
-package Math::BigInt::FastCalc;
-
-use 5.006;
-use strict;
-# use warnings; # dont use warnings for older Perls
-
-use DynaLoader;
-use Math::BigInt::Calc;
-
-use vars qw/@ISA $VERSION $BASE $BASE_LEN/;
-
-@ISA = qw(DynaLoader);
-
-$VERSION = '0.19';
-
-bootstrap Math::BigInt::FastCalc $VERSION;
-
-##############################################################################
-# global constants, flags and accessory
-
-# announce that we are compatible with MBI v1.70 and up
-sub api_version () { 1; }
-
-BEGIN
- {
- # use Calc to override the methods that we do not provide in XS
-
- for my $method (qw/
- str
- add sub mul div
- rsft lsft
- mod modpow modinv
- gcd
- pow root sqrt log_int fac nok
- digit check
- from_hex from_bin from_oct as_hex as_bin as_oct
- zeros base_len
- xor or and
- alen 1ex
- /)
- {
- no strict 'refs';
- *{'Math::BigInt::FastCalc::_' . $method} = \&{'Math::BigInt::Calc::_' . $method};
- }
- my ($AND_BITS, $XOR_BITS, $OR_BITS, $BASE_LEN_SMALL, $MAX_VAL);
-
- # store BASE_LEN and BASE to later pass it to XS code
- ($BASE_LEN, $AND_BITS, $XOR_BITS, $OR_BITS, $BASE_LEN_SMALL, $MAX_VAL, $BASE) =
- Math::BigInt::Calc::_base_len();
-
- }
-
-sub import
- {
- _set_XS_BASE($BASE, $BASE_LEN);
- }
-
-##############################################################################
-##############################################################################
-
-1;
-__END__
-=pod
-
-=head1 NAME
-
-Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed
-
-=head1 SYNOPSIS
-
-Provides support for big integer calculations. Not intended to be used by
-other modules. Other modules which sport the same functions can also be used
-to support Math::BigInt, like L<Math::BigInt::GMP> or L<Math::BigInt::Pari>.
-
-=head1 DESCRIPTION
-
-In order to allow for multiple big integer libraries, Math::BigInt was
-rewritten to use library modules for core math routines. Any module which
-follows the same API as this can be used instead by using the following:
-
- use Math::BigInt lib => 'libname';
-
-'libname' is either the long name ('Math::BigInt::Pari'), or only the short
-version like 'Pari'. To use this library:
-
- use Math::BigInt lib => 'FastCalc';
-
-Note that from L<Math::BigInt> v1.76 onwards, FastCalc will be loaded
-automatically, if possible.
-
-=head1 STORAGE
-
-FastCalc works exactly like Calc, in stores the numbers in decimal form,
-chopped into parts.
-
-=head1 METHODS
-
-The following functions are now implemented in FastCalc.xs:
-
- _is_odd _is_even _is_one _is_zero
- _is_two _is_ten
- _zero _one _two _ten
- _acmp _len _num
- _inc _dec
- __strip_zeros _copy
-
-=head1 LICENSE
-
-This program is free software; you may redistribute it and/or modify it under
-the same terms as Perl itself.
-
-=head1 AUTHORS
-
-Original math code by Mark Biggar, rewritten by Tels L<http://bloodgate.com/>
-in late 2000.
-Seperated from BigInt and shaped API with the help of John Peacock.
-Fixed, sped-up and enhanced by Tels http://bloodgate.com 2001-2003.
-Further streamlining (api_version 1 etc.) by Tels 2004-2007.
-
-=head1 SEE ALSO
-
-L<Math::BigInt>, L<Math::BigFloat>,
-L<Math::BigInt::GMP>, L<Math::BigInt::FastCalc> and L<Math::BigInt::Pari>.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS.pm
deleted file mode 100644
index d8162e93d39..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS.pm
+++ /dev/null
@@ -1,967 +0,0 @@
-
-package Net::DNS;
-#
-# $Id: DNS.pm 710 2008-02-08 15:22:21Z olaf $
-#
-use strict;
-
-
-BEGIN {
- eval { require bytes; }
-}
-
-
-
-use vars qw(
- $HAVE_XS
- $VERSION
- $SVNVERSION
- $DNSSEC
- $DN_EXPAND_ESCAPES
- @ISA
- @EXPORT
- @EXPORT_OK
- %typesbyname
- %typesbyval
- %qtypesbyname
- %qtypesbyval
- %metatypesbyname
- %metatypesbyval
- %classesbyname
- %classesbyval
- %opcodesbyname
- %opcodesbyval
- %rcodesbyname
- %rcodesbyval
-);
-
-
-
-BEGIN {
- require DynaLoader;
- require Exporter;
- @ISA = qw(Exporter DynaLoader);
-
-
- $VERSION = '0.63';
- $SVNVERSION = (qw$LastChangedRevision: 710 $)[1];
-
- $HAVE_XS = eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- __PACKAGE__->bootstrap(); 1
- } ? 1 : 0;
-
-}
-
-
-
-BEGIN {
-
- $DNSSEC = eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::SEC;
- 1
- } ? 1 : 0;
-
-
-}
-
-
-use Net::DNS::Resolver;
-use Net::DNS::Packet;
-use Net::DNS::Update;
-use Net::DNS::Header;
-use Net::DNS::Question;
-use Net::DNS::RR; # use only after $Net::DNS::DNSSEC has been evaluated
-use Carp;
-
-@EXPORT = qw(mx yxrrset nxrrset yxdomain nxdomain rr_add rr_del);
-@EXPORT_OK= qw(name2labels wire2presentation rrsort);
-
-
-#
-# If you implement an RR record make sure you also add it to
-# %Net::DNS::RR::RR hash otherwise it will be treated as unknown type.
-#
-
-# Do not use these tybesby hashes directly. Use the interface
-# functions, see below.
-
-%typesbyname = (
- 'SIGZERO' => 0, # RFC2931 consider this a pseudo type
- 'A' => 1, # RFC 1035, Section 3.4.1
- 'NS' => 2, # RFC 1035, Section 3.3.11
- 'MD' => 3, # RFC 1035, Section 3.3.4 (obsolete)
- 'MF' => 4, # RFC 1035, Section 3.3.5 (obsolete)
- 'CNAME' => 5, # RFC 1035, Section 3.3.1
- 'SOA' => 6, # RFC 1035, Section 3.3.13
- 'MB' => 7, # RFC 1035, Section 3.3.3
- 'MG' => 8, # RFC 1035, Section 3.3.6
- 'MR' => 9, # RFC 1035, Section 3.3.8
- 'NULL' => 10, # RFC 1035, Section 3.3.10
- 'WKS' => 11, # RFC 1035, Section 3.4.2 (deprecated)
- 'PTR' => 12, # RFC 1035, Section 3.3.12
- 'HINFO' => 13, # RFC 1035, Section 3.3.2
- 'MINFO' => 14, # RFC 1035, Section 3.3.7
- 'MX' => 15, # RFC 1035, Section 3.3.9
- 'TXT' => 16, # RFC 1035, Section 3.3.14
- 'RP' => 17, # RFC 1183, Section 2.2
- 'AFSDB' => 18, # RFC 1183, Section 1
- 'X25' => 19, # RFC 1183, Section 3.1
- 'ISDN' => 20, # RFC 1183, Section 3.2
- 'RT' => 21, # RFC 1183, Section 3.3
- 'NSAP' => 22, # RFC 1706, Section 5
- 'NSAP_PTR' => 23, # RFC 1348 (obsolete)
- # The following 2 RRs are impemented in Net::DNS::SEC
- 'SIG' => 24, # RFC 2535, Section 4.1
- 'KEY' => 25, # RFC 2535, Section 3.1
- 'PX' => 26, # RFC 2163,
- 'GPOS' => 27, # RFC 1712 (obsolete)
- 'AAAA' => 28, # RFC 1886, Section 2.1
- 'LOC' => 29, # RFC 1876
- # The following RR is impemented in Net::DNS::SEC
- 'NXT' => 30, # RFC 2535, Section 5.2 obsoleted by RFC3755
- 'EID' => 31, # draft-ietf-nimrod-dns-xx.txt
- 'NIMLOC' => 32, # draft-ietf-nimrod-dns-xx.txt
- 'SRV' => 33, # RFC 2052
- 'ATMA' => 34, # ???
- 'NAPTR' => 35, # RFC 2168
- 'KX' => 36, # RFC 2230
- 'CERT' => 37, # RFC 2538
- 'DNAME' => 39, # RFC 2672
- 'OPT' => 41, # RFC 2671
- 'DS' => 43, # RFC 4034 # in Net::DNS::SEC
- 'SSHFP' => 44, # draft-ietf-secsh-dns (No RFC # yet at time of coding)
- 'IPSECKEY' => 45, # RFC 4025
- 'RRSIG' => 46, # RFC 4034 in Net::DNS::SEC
- 'NSEC' => 47, # RFC 4034 in Net::DNS::SEC
- 'DNSKEY' => 48, # RFC 4034 in Net::DNS::SEC
- 'NSEC3' => 50, # draft-ietf-dnsext-nsec3-10 (assignment made at time of code release)
- 'NSEC3PARAM' => 51, # draft-ietf-dnsext-nsec3-10 (assignment made at time of code release)
-
- 'SPF' => 99, # RFC 4408
- 'UINFO' => 100, # non-standard
- 'UID' => 101, # non-standard
- 'GID' => 102, # non-standard
- 'UNSPEC' => 103, # non-standard
- 'TKEY' => 249, # RFC 2930
- 'TSIG' => 250, # RFC 2931
- 'IXFR' => 251, # RFC 1995
- 'AXFR' => 252, # RFC 1035
- 'MAILB' => 253, # RFC 1035 (MB, MG, MR)
- 'MAILA' => 254, # RFC 1035 (obsolete - see MX)
- 'ANY' => 255, # RFC 1035
- 'DLV' => 32769 # RFC 4431 in Net::DNS::SEC
-);
-%typesbyval = reverse %typesbyname;
-
-
-#
-# typesbyval and typesbyname functions are wrappers around the similarly named
-# hashes. They are used for 'unknown' DNS RR types (RFC3597)
-
-# typesbyname returns they TYPEcode as a function of the TYPE
-# mnemonic. If the TYPE mapping is not specified the generic mnemonic
-# TYPE### is returned.
-
-
-# typesbyval returns they TYPE mnemonic as a function of the TYPE
-# code. If the TYPE mapping is not specified the generic mnemonic
-# TYPE### is returned.
-#
-
-sub typesbyname {
- my $name = uc shift;
-
- return $typesbyname{$name} if defined $typesbyname{$name};
-
- confess "Net::DNS::typesbyname() argument ($name) is not TYPE###" unless
- $name =~ m/^\s*TYPE(\d+)\s*$/o;
-
- my $val = $1;
-
- confess 'Net::DNS::typesbyname() argument larger than ' . 0xffff if $val > 0xffff;
-
- return $val;
-}
-
-
-
-sub typesbyval {
- my $val = shift;
- confess "Net::DNS::typesbyval() argument is not defined" unless defined $val;
- confess "Net::DNS::typesbyval() argument ($val) is not numeric" unless
- $val =~ s/^\s*0*(\d+)\s*$/$1/o;
-
-
-
- return $typesbyval{$val} if $typesbyval{$val};
-
- confess 'Net::DNS::typesbyval() argument larger than '. 0xffff if
- $val > 0xffff;
-
- return "TYPE$val";
-}
-
-
-
-#
-# Do not use these classesby hashes directly. See below.
-#
-
-%classesbyname = (
- 'IN' => 1, # RFC 1035
- 'CH' => 3, # RFC 1035
- 'HS' => 4, # RFC 1035
- 'NONE' => 254, # RFC 2136
- 'ANY' => 255, # RFC 1035
-);
-%classesbyval = reverse %classesbyname;
-
-
-
-# classesbyval and classesbyname functions are wrappers around the
-# similarly named hashes. They are used for 'unknown' DNS RR classess
-# (RFC3597)
-
-# See typesbyval and typesbyname, these beasts have the same functionality
-
-sub classesbyname {
- my $name = uc shift;
- return $classesbyname{$name} if $classesbyname{$name};
-
- confess "Net::DNS::classesbyval() argument is not CLASS### ($name)" unless
- $name =~ m/^\s*CLASS(\d+)\s*$/o;
-
- my $val = $1;
-
- confess 'Net::DNS::classesbyval() argument larger than '. 0xffff if $val > 0xffff;
-
- return $val;
-}
-
-
-
-sub classesbyval {
- my $val = shift;
-
- confess "Net::DNS::classesbyname() argument is not numeric ($val)" unless
- $val =~ s/^\s*0*([0-9]+)\s*$/$1/o;
-
- return $classesbyval{$val} if $classesbyval{$val};
-
- confess 'Net::DNS::classesbyname() argument larger than ' . 0xffff if $val > 0xffff;
-
- return "CLASS$val";
-}
-
-
-
-# The qtypesbyval and metatypesbyval specify special typecodes
-# See rfc2929 and the relevant IANA registry
-# http://www.iana.org/assignments/dns-parameters
-
-
-%qtypesbyname = (
- 'IXFR' => 251, # incremental transfer [RFC1995]
- 'AXFR' => 252, # transfer of an entire zone [RFC1035]
- 'MAILB' => 253, # mailbox-related RRs (MB, MG or MR) [RFC1035]
- 'MAILA' => 254, # mail agent RRs (Obsolete - see MX) [RFC1035]
- 'ANY' => 255, # all records [RFC1035]
-);
-%qtypesbyval = reverse %qtypesbyname;
-
-
-%metatypesbyname = (
- 'TKEY' => 249, # Transaction Key [RFC2930]
- 'TSIG' => 250, # Transaction Signature [RFC2845]
- 'OPT' => 41, # RFC 2671
-);
-%metatypesbyval = reverse %metatypesbyname;
-
-
-%opcodesbyname = (
- 'QUERY' => 0, # RFC 1035
- 'IQUERY' => 1, # RFC 1035
- 'STATUS' => 2, # RFC 1035
- 'NS_NOTIFY_OP' => 4, # RFC 1996
- 'UPDATE' => 5, # RFC 2136
-);
-%opcodesbyval = reverse %opcodesbyname;
-
-
-%rcodesbyname = (
- 'NOERROR' => 0, # RFC 1035
- 'FORMERR' => 1, # RFC 1035
- 'SERVFAIL' => 2, # RFC 1035
- 'NXDOMAIN' => 3, # RFC 1035
- 'NOTIMP' => 4, # RFC 1035
- 'REFUSED' => 5, # RFC 1035
- 'YXDOMAIN' => 6, # RFC 2136
- 'YXRRSET' => 7, # RFC 2136
- 'NXRRSET' => 8, # RFC 2136
- 'NOTAUTH' => 9, # RFC 2136
- 'NOTZONE' => 10, # RFC 2136
-);
-%rcodesbyval = reverse %rcodesbyname;
-
-
-sub version { $VERSION; }
-sub PACKETSZ () { 512; }
-sub HFIXEDSZ () { 12; }
-sub QFIXEDSZ () { 4; }
-sub RRFIXEDSZ () { 10; }
-sub INT32SZ () { 4; }
-sub INT16SZ () { 2; }
-
-
-
-# mx()
-#
-# Usage:
-# my @mxes = mx('example.com', 'IN');
-#
-sub mx {
- my $res = ref $_[0] ? shift : Net::DNS::Resolver->new;
-
- my ($name, $class) = @_;
- $class ||= 'IN';
-
- my $ans = $res->query($name, 'MX', $class) || return;
-
- # This construct is best read backwords.
- #
- # First we take the answer secion of the packet.
- # Then we take just the MX records from that list
- # Then we sort the list by preference
- # Then we return it.
- # We do this into an array to force list context.
- my @ret = sort { $a->preference <=> $b->preference }
- grep { $_->type eq 'MX'} $ans->answer;
-
-
- return @ret;
-}
-
-sub yxrrset {
- return Net::DNS::RR->new_from_string(shift, 'yxrrset');
-}
-
-sub nxrrset {
- return Net::DNS::RR->new_from_string(shift, 'nxrrset');
-}
-
-sub yxdomain {
- return Net::DNS::RR->new_from_string(shift, 'yxdomain');
-}
-
-sub nxdomain {
- return Net::DNS::RR->new_from_string(shift, 'nxdomain');
-}
-
-sub rr_add {
- return Net::DNS::RR->new_from_string(shift, 'rr_add');
-}
-
-sub rr_del {
- return Net::DNS::RR->new_from_string(shift, 'rr_del');
-}
-
-
-
-# Utility function
-#
-# name2labels to translate names from presentation format into an
-# array of "wire-format" labels.
-
-
-# in: $dname a string with a domain name in presentation format (1035
-# sect 5.1)
-# out: an array of labels in wire format.
-
-
-sub name2labels {
- my $dname=shift;
- my @names;
- my $j=0;
- while ($dname){
- ($names[$j],$dname)=presentation2wire($dname);
- $j++;
- }
-
- return @names;
-}
-
-
-
-
-sub wire2presentation {
- my $wire=shift;
- my $presentation="";
- my $length=length($wire);
- # There must be a nice regexp to do this.. but since I failed to
- # find one I scan the name string until I find a '\', at that time
- # I start looking forward and do the magic.
-
- my $i=0;
-
- while ($i < $length ){
- my $char=unpack("x".$i."C1",$wire);
- if ( $char < 33 || $char > 126 ){
- $presentation.= sprintf ("\\%03u" ,$char);
- }elsif ( $char == ord( "\"" )) {
- $presentation.= "\\\"";
- }elsif ( $char == ord( "\$" )) {
- $presentation.= "\\\$";
- }elsif ( $char == ord( "(" )) {
- $presentation.= "\\(";
- }elsif ( $char == ord( ")" )) {
- $presentation.= "\\)";
- }elsif ( $char == ord( ";" )) {
- $presentation.= "\\;";
- }elsif ( $char == ord( "@" )) {
- $presentation.= "\\@";
- }elsif ( $char == ord( "\\" )) {
- $presentation.= "\\\\" ;
- }elsif ( $char==ord (".") ){
- $presentation.= "\\." ;
- }else{
- $presentation.=chr($char) ;
- }
- $i++;
- }
-
- return $presentation;
-
-}
-
-
-
-# ($wire,$leftover)=presentation2wire($leftover);
-
-# Will parse the input presentation format and return everything before
-# the first non-escaped "." in the first element of the return array and
-# all that has not been parsed yet in the 2nd argument.
-
-
-sub presentation2wire {
- my $presentation=shift;
- my $wire="";
- my $length=length($presentation);
-
- my $i=0;
-
- while ($i < $length ){
- my $char=unpack("x".$i."C1",$presentation);
- if ( $char == ord ('.')){
- return ($wire,substr($presentation,$i+1));
- }
- if ( $char == ord ('\\')){
- #backslash found
- pos($presentation)=$i+1;
- if ($presentation=~/\G(\d\d\d)/){
- $wire.=pack("C",$1);
- $i+=3;
- }elsif($presentation=~/\Gx([0..9a..fA..F][0..9a..fA..F])/){
- $wire.=pack("H*",$1);
- $i+=3;
- }elsif($presentation=~/\G\./){
- $wire.="\.";
- $i+=1;
- }elsif($presentation=~/\G@/){
- $wire.="@";
- $i+=1;
- }elsif($presentation=~/\G\(/){
- $wire.="(";
- $i+=1;
- }elsif($presentation=~/\G\)/){
- $wire.=")";
- $i+=1;
- }elsif($presentation=~/\G\\/){
- $wire.="\\";
- $i+=1;
- }
- }else{
- $wire .= pack("C",$char);
- }
- $i++;
- }
-
- return $wire;
-}
-
-
-
-
-
-sub rrsort {
- my ($rrtype,$attribute,@rr_array)=@_;
- unless (exists($Net::DNS::typesbyname{uc($rrtype)})){
- # unvalid error type
- return();
- }
- unless (defined($attribute)){
- # no second argument... hence no array.
- return();
- }
-
- # attribute is empty or not specified.
-
- if( ref($attribute)=~/^Net::DNS::RR::.*/){
- # push the attribute back on the array.
- push @rr_array,$attribute;
- undef($attribute);
-
- }
-
- my @extracted_rr;
- foreach my $rr (@rr_array){
- push( @extracted_rr, $rr )if (uc($rr->type) eq uc($rrtype));
- }
- return () unless @extracted_rr;
- my $func=("Net::DNS::RR::".$rrtype)->get_rrsort_func($attribute);
- my @sorted=sort $func @extracted_rr;
- return @sorted;
-
-}
-
-
-
-
-
-
-
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS - Perl interface to the DNS resolver
-
-=head1 SYNOPSIS
-
-C<use Net::DNS;>
-
-=head1 DESCRIPTION
-
-Net::DNS is a collection of Perl modules that act as a Domain
-Name System (DNS) resolver. It allows the programmer to perform
-DNS queries that are beyond the capabilities of C<gethostbyname>
-and C<gethostbyaddr>.
-
-The programmer should be somewhat familiar with the format of
-a DNS packet and its various sections. See RFC 1035 or
-I<DNS and BIND> (Albitz & Liu) for details.
-
-=head2 Resolver Objects
-
-A resolver object is an instance of the
-L<Net::DNS::Resolver|Net::DNS::Resolver> class. A program can have
-multiple resolver objects, each maintaining its own state information
-such as the nameservers to be queried, whether recursion is desired,
-etc.
-
-=head2 Packet Objects
-
-L<Net::DNS::Resolver|Net::DNS::Resolver> queries return
-L<Net::DNS::Packet|Net::DNS::Packet> objects. Packet objects have five
-sections:
-
-=over 3
-
-=item *
-
-The header section, a L<Net::DNS::Header|Net::DNS::Header> object.
-
-=item *
-
-The question section, a list of L<Net::DNS::Question|Net::DNS::Question>
-objects.
-
-=item *
-
-The answer section, a list of L<Net::DNS::RR|Net::DNS::RR> objects.
-
-=item *
-
-The authority section, a list of L<Net::DNS::RR|Net::DNS::RR> objects.
-
-=item *
-
-The additional section, a list of L<Net::DNS::RR|Net::DNS::RR> objects.
-
-=back
-
-=head2 Update Objects
-
-The L<Net::DNS::Update|Net::DNS::Update> package is a subclass of
-L<Net::DNS::Packet|Net::DNS::Packet> for creating packet objects to be
-used in dynamic updates.
-
-=head2 Header Objects
-
-L<Net::DNS::Header|Net::DNS::Header> objects represent the header
-section of a DNS packet.
-
-=head2 Question Objects
-
-L<Net::DNS::Question|Net::DNS::Question> objects represent the question
-section of a DNS packet.
-
-=head2 RR Objects
-
-L<Net::DNS::RR|Net::DNS::RR> is the base class for DNS resource record
-(RR) objects in the answer, authority, and additional sections of a DNS
-packet.
-
-Don't assume that RR objects will be of the type you requested -- always
-check an RR object's type before calling any of its methods.
-
-=head1 METHODS
-
-See the manual pages listed above for other class-specific methods.
-
-=head2 version
-
- print Net::DNS->version, "\n";
-
-Returns the version of Net::DNS.
-
-=head2 mx
-
- # Use a default resolver -- can't get an error string this way.
- use Net::DNS;
- my @mx = mx("example.com");
-
- # Use your own resolver object.
- use Net::DNS;
- my $res = Net::DNS::Resolver->new;
- my @mx = mx($res, "example.com");
-
-Returns a list of L<Net::DNS::RR::MX|Net::DNS::RR::MX> objects
-representing the MX records for the specified name; the list will be
-sorted by preference. Returns an empty list if the query failed or no MX
-records were found.
-
-This method does not look up A records -- it only performs MX queries.
-
-See L</EXAMPLES> for a more complete example.
-
-=head2 yxrrset
-
-Use this method to add an "RRset exists" prerequisite to a dynamic
-update packet. There are two forms, value-independent and
-value-dependent:
-
- # RRset exists (value-independent)
- $update->push(pre => yxrrset("host.example.com A"));
-
-Meaning: At least one RR with the specified name and type must
-exist.
-
- # RRset exists (value-dependent)
- $packet->push(pre => yxrrset("host.example.com A 10.1.2.3"));
-
-Meaning: At least one RR with the specified name and type must
-exist and must have matching data.
-
-Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't
-be created.
-
-=head2 nxrrset
-
-Use this method to add an "RRset does not exist" prerequisite to
-a dynamic update packet.
-
- $packet->push(pre => nxrrset("host.example.com A"));
-
-Meaning: No RRs with the specified name and type can exist.
-
-Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't
-be created.
-
-=head2 yxdomain
-
-Use this method to add a "name is in use" prerequisite to a dynamic
-update packet.
-
- $packet->push(pre => yxdomain("host.example.com"));
-
-Meaning: At least one RR with the specified name must exist.
-
-Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't
-be created.
-
-=head2 nxdomain
-
-Use this method to add a "name is not in use" prerequisite to a
-dynamic update packet.
-
- $packet->push(pre => nxdomain("host.example.com"));
-
-Meaning: No RR with the specified name can exist.
-
-Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't
-be created.
-
-=head2 rr_add
-
-Use this method to add RRs to a zone.
-
- $packet->push(update => rr_add("host.example.com A 10.1.2.3"));
-
-Meaning: Add this RR to the zone.
-
-RR objects created by this method should be added to the "update"
-section of a dynamic update packet. The TTL defaults to 86400
-seconds (24 hours) if not specified.
-
-Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't
-be created.
-
-=head2 rr_del
-
-Use this method to delete RRs from a zone. There are three forms:
-delete an RRset, delete all RRsets, and delete an RR.
-
- # Delete an RRset.
- $packet->push(update => rr_del("host.example.com A"));
-
-Meaning: Delete all RRs having the specified name and type.
-
- # Delete all RRsets.
- $packet->push(update => rr_del("host.example.com"));
-
-Meaning: Delete all RRs having the specified name.
-
- # Delete an RR.
- $packet->push(update => rr_del("host.example.com A 10.1.2.3"));
-
-Meaning: Delete all RRs having the specified name, type, and data.
-
-RR objects created by this method should be added to the "update"
-section of a dynamic update packet.
-
-Returns a C<Net::DNS::RR> object or C<undef> if the object couldn't
-be created.
-
-
-=head2 Sorting of RR arrays
-
-As of version 0.55 there is functionality to help you sort RR
-arrays. 'rrsort()' is the function that is available to do the
-sorting. In most cases rrsort will give you the answer that you
-want but you can specify your own sorting method by using the
-Net::DNS::RR::FOO->set_rrsort_func() class method. See L<Net::DNS::RR>
-for details.
-
-=head3 rrsort()
-
- use Net::DNS qw(rrsort);
-
- my @prioritysorted=rrsort("SRV","priority",@rr_array);
-
-
-rrsort() selects all RRs from the input array that are of the type
-that are defined in the first argument. Those RRs are sorted based on
-the attribute that is specified as second argument.
-
-There are a number of RRs for which the sorting function is
-specifically defined for certain attributes. If such sorting function
-is defined in the code (it can be set or overwritten using the
-set_rrsort_func() class method) that function is used.
-
-For instance:
- my @prioritysorted=rrsort("SRV","priority",@rr_array);
-returns the SRV records sorted from lowest to heighest priority and
-for equal priorities from heighes to lowes weight.
-
-If the function does not exist then a numerical sort on the attribute
-value is performed.
- my @portsorted=rrsort("SRV","port",@rr_array);
-
-If the attribute does not exist for a certain RR than the RRs are
-sorted on string comparrisson of the rdata.
-
-If the attribute is not defined than either the default_sort function
-will be defined or "Canonical sorting" (as defined by DNSSEC) will be
-used.
-
-rrsort() returns a sorted array with only elements of the specified
-RR type or undef.
-
-rrsort() returns undef when arguments are incorrect.
-
-
-
-=head1 EXAMPLES
-
-The following examples show how to use the C<Net::DNS> modules.
-See the other manual pages and the demo scripts included with the
-source code for additional examples.
-
-See the C<Net::DNS::Update> manual page for an example of performing
-dynamic updates.
-
-=head2 Look up a host's addresses.
-
- use Net::DNS;
- my $res = Net::DNS::Resolver->new;
- my $query = $res->search("host.example.com");
-
- if ($query) {
- foreach my $rr ($query->answer) {
- next unless $rr->type eq "A";
- print $rr->address, "\n";
- }
- } else {
- warn "query failed: ", $res->errorstring, "\n";
- }
-
-=head2 Find the nameservers for a domain.
-
- use Net::DNS;
- my $res = Net::DNS::Resolver->new;
- my $query = $res->query("example.com", "NS");
-
- if ($query) {
- foreach $rr (grep { $_->type eq 'NS' } $query->answer) {
- print $rr->nsdname, "\n";
- }
- }
- else {
- warn "query failed: ", $res->errorstring, "\n";
- }
-
-=head2 Find the MX records for a domain.
-
- use Net::DNS;
- my $name = "example.com";
- my $res = Net::DNS::Resolver->new;
- my @mx = mx($res, $name);
-
- if (@mx) {
- foreach $rr (@mx) {
- print $rr->preference, " ", $rr->exchange, "\n";
- }
- } else {
- warn "Can't find MX records for $name: ", $res->errorstring, "\n";
- }
-
-
-=head2 Print a domain's SOA record in zone file format.
-
- use Net::DNS;
- my $res = Net::DNS::Resolver->new;
- my $query = $res->query("example.com", "SOA");
-
- if ($query) {
- ($query->answer)[0]->print;
- } else {
- print "query failed: ", $res->errorstring, "\n";
- }
-
-=head2 Perform a zone transfer and print all the records.
-
- use Net::DNS;
- my $res = Net::DNS::Resolver->new;
- $res->nameservers("ns.example.com");
-
- my @zone = $res->axfr("example.com");
-
- foreach $rr (@zone) {
- $rr->print;
- }
-
-=head2 Perform a background query and do some other work while waiting
-for the answer.
-
- use Net::DNS;
- my $res = Net::DNS::Resolver->new;
- my $socket = $res->bgsend("host.example.com");
-
- until ($res->bgisready($socket)) {
- # do some work here while waiting for the answer
- # ...and some more here
- }
-
- my $packet = $res->bgread($socket);
- $packet->print;
-
-
-=head2 Send a background query and use select to determine when the answer
-has arrived.
-
- use Net::DNS;
- use IO::Select;
-
- my $timeout = 5;
- my $res = Net::DNS::Resolver->new;
- my $bgsock = $res->bgsend("host.example.com");
- my $sel = IO::Select->new($bgsock);
-
- # Add more sockets to $sel if desired.
- my @ready = $sel->can_read($timeout);
- if (@ready) {
- foreach my $sock (@ready) {
- if ($sock == $bgsock) {
- my $packet = $res->bgread($bgsock);
- $packet->print;
- $bgsock = undef;
- }
- # Check for the other sockets.
- $sel->remove($sock);
- $sock = undef;
- }
- } else {
- warn "timed out after $timeout seconds\n";
- }
-
-=head1 BUGS
-
-C<Net::DNS> is slow.
-
-For other items to be fixed, please see the TODO file included with
-the source distribution.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-Portions Copyright (c) 2005 Olaf Kolkman (RIPE NCC)
-Portions Copyright (c) 2006 Olaf Kolkman (NLnet Labs)
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 AUTHOR INFORMATION
-
-Net::DNS is currently maintained at NLnet Labs (www.nlnetlabs.nl) by:
- Olaf Kolkman
- olaf@net-dns.org
-
-Between 2002 and 2004 Net::DNS was maintained by:
- Chris Reinhardt
-
-
-Net::DNS was created by:
- Michael Fuhr
- mike@fuhr.org
-
-
-
-For more information see:
- http://www.net-dns.org/
-
-Stay tuned and syncicate:
- http://www.net-dns.org/blog/
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>, L<Net::DNS::Update>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>, RFC 1035,
-I<DNS and BIND> by Paul Albitz & Cricket Liu
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/FAQ.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/FAQ.pod
deleted file mode 100644
index f1b4e5c707e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/FAQ.pod
+++ /dev/null
@@ -1,45 +0,0 @@
-=head1 NAME
-
-Net::DNS::FAQ - Frequently Asked Net::DNS Questions
-
-=head1 SYNOPSIS
-
- perldoc Net::DNS::FAQ
-
-=head1 DESCRIPTION
-
-This document serves to answer the most frequently asked questions on both the
-Net::DNS Mailing List and those sent to the author.
-
-The latest version of this FAQ can be found at
- http://www.net-dns.org/docs/FAQ.html
-
-=head1 GENERAL
-
-=head2 What is Net::DNS?
-
-Net::DNS is a perl implementation of a DNS resolver.
-
-=head1 INSTALLATION
-
-=head2 Where can I find Test::More?
-
-Test::More is part of the Test-Simple packge, by Michael G Schwern.
-You should be able to find the distrubution here:
-
- http://search.cpan.org/dist/Test-Simple/
-
-=head1 USAGE
-
-=head2 Why does Net::DNS::Resolver::query() return undef when the ANSWER section is empty?
-
-The short answer is, don't use query(). Net::DNS::Resolver::send()
-will always return the answer packet, as long as an answer was received.
-
-The longer answer is that query() is modeled after the res_query() function
-from the libresolv C library, which has similar behaviors.
-
-=head1 VERSION
-
- $Id: FAQ.pod 264 2005-04-06 09:16:15Z olaf $
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Header.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Header.pm
deleted file mode 100644
index 26627accdc7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Header.pm
+++ /dev/null
@@ -1,371 +0,0 @@
-package Net::DNS::Header;
-#
-# $Id: Header.pm 704 2008-02-06 21:30:59Z olaf $
-#
-
-use strict;
-
-BEGIN {
- eval { require bytes; }
-}
-
-
-use vars qw($VERSION $AUTOLOAD);
-
-use Carp;
-use Net::DNS;
-
-use constant MAX_ID => 65535;
-
-$VERSION = (qw$LastChangedRevision: 704 $)[1];
-
-=head1 NAME
-
-Net::DNS::Header - DNS packet header class
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::Header;>
-
-=head1 DESCRIPTION
-
-A C<Net::DNS::Header> object represents the header portion of a DNS
-packet.
-
-=head1 METHODS
-
-=head2 new
-
- $header = Net::DNS::Header->new;
-
-C<new> creates a header object appropriate for making a DNS query.
-
-=cut
-
-{
- sub nextid {
- int rand(MAX_ID);
- }
-}
-
-sub new {
- my $class = shift;
-
- my $self = { id => nextid(),
- qr => 0,
- opcode => $Net::DNS::opcodesbyval{0},
- aa => 0,
- tc => 0,
- rd => 1,
- ra => 0,
- ad => 0,
- cd => 0,
- rcode => $Net::DNS::rcodesbyval{0},
- qdcount => 0,
- ancount => 0,
- nscount => 0,
- arcount => 0,
- };
-
- bless $self, $class;
-}
-
-
-=head2 parse
-
- ($header, $offset) = Net::DNS::Header->parse(\$data);
-
-Parses the header record at the start of a DNS packet.
-The argument is a reference to the packet data.
-
-Returns a Net::DNS::Header object and the offset of the next location
-in the packet.
-
-Parsing is aborted if the header object cannot be created (e.g.,
-corrupt or insufficient data).
-
-=cut
-
-use constant PACKED_LENGTH => length pack 'n C2 n4', (0)x7;
-
-sub parse {
- my ($class, $data) = @_;
-
- die 'Exception: incomplete data' if length($$data) < PACKED_LENGTH;
-
- my ($id, $b2, $b3, $qd, $an, $ns, $ar) = unpack('n C2 n4', $$data);
-
- my $opval = ($b2 >> 3) & 0xf;
- my $opcode = $Net::DNS::opcodesbyval{$opval} || $opval;
- my $rval = $b3 & 0xf;
- my $rcode = $Net::DNS::rcodesbyval{$rval} || $rval;
-
- my $self = { id => $id,
- qr => ($b2 >> 7) & 0x1,
- opcode => $opcode,
- aa => ($b2 >> 2) & 0x1,
- tc => ($b2 >> 1) & 0x1,
- rd => $b2 & 0x1,
- ra => ($b3 >> 7) & 0x1,
- ad => ($b3 >> 5) & 0x1,
- cd => ($b3 >> 4) & 0x1,
- rcode => $rcode,
- qdcount => $qd,
- ancount => $an,
- nscount => $ns,
- arcount => $ar
- };
-
- bless $self, $class;
-
- return wantarray ? ($self, PACKED_LENGTH) : $self;
-}
-
-#
-# Some people have reported that Net::DNS dies because AUTOLOAD picks up
-# calls to DESTROY.
-#
-sub DESTROY {}
-
-=head2 print
-
- $header->print;
-
-Prints the header record on the standard output.
-
-=cut
-
-sub print { print &string, "\n"; }
-
-=head2 string
-
- print $header->string;
-
-Returns a string representation of the header object.
-
-=cut
-
-sub string {
- my $self = shift;
- my $retval = "";
-
- $retval .= ";; id = $self->{id}\n";
-
- if ($self->{"opcode"} eq "UPDATE") {
- $retval .= ";; qr = $self->{qr} " .
- "opcode = $self->{opcode} " .
- "rcode = $self->{rcode}\n";
-
- $retval .= ";; zocount = $self->{qdcount} " .
- "prcount = $self->{ancount} " .
- "upcount = $self->{nscount} " .
- "adcount = $self->{arcount}\n";
- }
- else {
- $retval .= ";; qr = $self->{qr} " .
- "opcode = $self->{opcode} " .
- "aa = $self->{aa} " .
- "tc = $self->{tc} " .
- "rd = $self->{rd}\n";
-
- $retval .= ";; ra = $self->{ra} " .
- "ad = $self->{ad} " .
- "cd = $self->{cd} " .
- "rcode = $self->{rcode}\n";
-
- $retval .= ";; qdcount = $self->{qdcount} " .
- "ancount = $self->{ancount} " .
- "nscount = $self->{nscount} " .
- "arcount = $self->{arcount}\n";
- }
-
- return $retval;
-}
-
-=head2 id
-
- print "query id = ", $header->id, "\n";
- $header->id(1234);
-
-Gets or sets the query identification number.
-
-=head2 qr
-
- print "query response flag = ", $header->qr, "\n";
- $header->qr(0);
-
-Gets or sets the query response flag.
-
-=head2 opcode
-
- print "query opcode = ", $header->opcode, "\n";
- $header->opcode("UPDATE");
-
-Gets or sets the query opcode (the purpose of the query).
-
-=head2 aa
-
- print "answer is ", $header->aa ? "" : "non-", "authoritative\n";
- $header->aa(0);
-
-Gets or sets the authoritative answer flag.
-
-=head2 tc
-
- print "packet is ", $header->tc ? "" : "not ", "truncated\n";
- $header->tc(0);
-
-Gets or sets the truncated packet flag.
-
-=head2 rd
-
- print "recursion was ", $header->rd ? "" : "not ", "desired\n";
- $header->rd(0);
-
-Gets or sets the recursion desired flag.
-
-
-=head2 cd
-
- print "checking was ", $header->cd ? "not" : "", "desired\n";
- $header->cd(0);
-
-Gets or sets the checking disabled flag.
-
-
-
-=head2 ra
-
- print "recursion is ", $header->ra ? "" : "not ", "available\n";
- $header->ra(0);
-
-Gets or sets the recursion available flag.
-
-
-=head2 ad
-
- print "The result has ", $header->ad ? "" : "not", "been verified\n"
-
-
-Relevant in DNSSEC context.
-
-(The AD bit is only set on answers where signatures have been
-cryptographically verified or the server is authoritative for the data
-and is allowed to set the bit by policy.)
-
-
-=head2 rcode
-
- print "query response code = ", $header->rcode, "\n";
- $header->rcode("SERVFAIL");
-
-Gets or sets the query response code (the status of the query).
-
-=head2 qdcount, zocount
-
- print "# of question records: ", $header->qdcount, "\n";
- $header->qdcount(2);
-
-Gets or sets the number of records in the question section of the packet.
-In dynamic update packets, this field is known as C<zocount> and refers
-to the number of RRs in the zone section.
-
-=head2 ancount, prcount
-
- print "# of answer records: ", $header->ancount, "\n";
- $header->ancount(5);
-
-Gets or sets the number of records in the answer section of the packet.
-In dynamic update packets, this field is known as C<prcount> and refers
-to the number of RRs in the prerequisite section.
-
-=head2 nscount, upcount
-
- print "# of authority records: ", $header->nscount, "\n";
- $header->nscount(2);
-
-Gets or sets the number of records in the authority section of the packet.
-In dynamic update packets, this field is known as C<upcount> and refers
-to the number of RRs in the update section.
-
-=head2 arcount, adcount
-
- print "# of additional records: ", $header->arcount, "\n";
- $header->arcount(3);
-
-Gets or sets the number of records in the additional section of the packet.
-In dynamic update packets, this field is known as C<adcount>.
-
-=cut
-
-sub zocount { &qdcount; }
-sub prcount { &ancount; }
-sub upcount { &nscount; }
-sub adcount { &arcount; }
-
-
-sub AUTOLOAD {
- my $self = shift;
-
- my $name = $AUTOLOAD;
- $name =~ s/.*://o;
-
- croak "$AUTOLOAD: no such method" unless exists $self->{$name};
-
- return $self->{$name} unless @_;
-
- my $value = shift;
- $self->{$name} = $value;
-}
-
-
-=head2 data
-
- $hdata = $header->data;
-
-Returns the header data in binary format, appropriate for use in a
-DNS query packet.
-
-=cut
-
-sub data {
- my $self = shift;
-
- my $opcode = $Net::DNS::opcodesbyname{ $self->{opcode} };
- my $rcode = $Net::DNS::rcodesbyname{ $self->{rcode} };
-
- my $byte2 = ($self->{qr} ? 0x80 : 0)
- | ($opcode << 3)
- | ($self->{aa} ? 0x04 : 0)
- | ($self->{tc} ? 0x02 : 0)
- | ($self->{rd} ? 0x01 : 0);
-
- my $byte3 = ($self->{ra} ? 0x80 : 0)
- | ($self->{ad} ? 0x20 : 0)
- | ($self->{cd} ? 0x10 : 0)
- | ($rcode || 0);
-
- pack('n C2 n4', $self->{id}, $byte2, $byte3,
- map{$self->{$_} || 0} qw(qdcount ancount nscount arcount) );
-}
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-Portions Copyright (c) 2007 Dick Franks.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Update>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 4.1.1
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Nameserver.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Nameserver.pm
deleted file mode 100644
index a0ad2f34f5d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Nameserver.pm
+++ /dev/null
@@ -1,703 +0,0 @@
-package Net::DNS::Nameserver;
-#
-# $Id: Nameserver.pm 709 2008-02-06 22:40:42Z olaf $
-#
-
-use Net::DNS;
-use IO::Socket;
-use IO::Socket::INET;
-use IO::Select;
-use Carp qw(cluck);
-
-use strict;
-use vars qw( $VERSION
- $has_inet6
- );
-
-use constant FORCE_INET4 => 0;
-
-use constant DEFAULT_ADDR => 0;
-use constant DEFAULT_PORT => 53;
-
-use constant STATE_ACCEPTED => 1;
-use constant STATE_GOT_LENGTH => 2;
-use constant STATE_SENDING => 3;
-
-$VERSION = (qw$LastChangedRevision: 709 $)[1];
-
-
-
-BEGIN {
- if ( FORCE_INET4 ) {
- $has_inet6 = 0;
- } elsif ( eval {require Socket6;} &&
- # INET6 earlier than V2.01 will not work; sorry.
- eval {require IO::Socket::INET6; IO::Socket::INET6->VERSION("2.01");} ) {
- import Socket6;
- $has_inet6 = 1;
- } else {
- $has_inet6=0;
- }
-}
-
-
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# Constructor.
-#------------------------------------------------------------------------------
-
-sub new {
- my ($class, %self) = @_;
-
- unless ( ref $self{ReplyHandler} ) {
- cluck "No reply handler!";
- return;
- }
-
- # local server addresses must also be accepted by a resolver
- my @LocalAddr = ref $self{LocalAddr} ? @{$self{LocalAddr}} : ($self{LocalAddr});
- my $resolver = Net::DNS::Resolver->new;
- $resolver->force_v4(1) unless $has_inet6;
- $resolver->nameservers(undef);
- my @localaddresses = $resolver->nameservers(@LocalAddr);
-
- my $port = $self{LocalPort} || DEFAULT_PORT;
-
- my @sock_tcp; # All the TCP sockets we will listen to.
- my @sock_udp; # All the UDP sockets we will listen to.
-
- # while we are here, print incomplete lines as they come along.
- local $| = 1 if $self{Verbose};
-
- foreach my $addr ( @localaddresses ? @localaddresses : DEFAULT_ADDR ){
-
- #--------------------------------------------------------------------------
- # Create the TCP socket.
- #--------------------------------------------------------------------------
-
- print "\nCreating TCP socket $addr#$port - " if $self{Verbose};
-
- my $sock_tcp = inet_new(
- LocalAddr => $addr,
- LocalPort => $port,
- Listen => 64,
- Proto => "tcp",
- Reuse => 1,
- );
- if ( $sock_tcp ) {
- push @sock_tcp, $sock_tcp;
- print "done.\n" if $self{Verbose};
- } else {
- cluck "Couldn't create TCP socket: $!";
- }
-
- #--------------------------------------------------------------------------
- # Create the UDP Socket.
- #--------------------------------------------------------------------------
-
- print "Creating UDP socket $addr#$port - " if $self{Verbose};
-
- my $sock_udp = inet_new(
- LocalAddr => $addr,
- LocalPort => $port,
- Proto => "udp",
- );
-
- if ( $sock_udp ) {
- push @sock_udp, $sock_udp;
- print "done.\n" if $self{Verbose};
- } else {
- cluck "Couldn't create UDP socket: $!";
- }
-
- }
-
- #--------------------------------------------------------------------------
- # Create the Select object.
- #--------------------------------------------------------------------------
-
- my $select = $self{select} = IO::Select->new;
-
- $select->add(@sock_tcp);
- $select->add(@sock_udp);
-
- return undef unless $select->count;
-
- #--------------------------------------------------------------------------
- # Return the object.
- #--------------------------------------------------------------------------
-
- my $self = bless \%self, $class;
- return $self;
-}
-
-#------------------------------------------------------------------------------
-# inet_new - Calls the constructor in the correct module for making sockets.
-#------------------------------------------------------------------------------
-
-sub inet_new {
- if ($has_inet6) {
- return IO::Socket::INET6->new(@_);
- } else {
- return IO::Socket::INET->new(@_);
- }
-}
-
-#------------------------------------------------------------------------------
-# make_reply - Make a reply packet.
-#------------------------------------------------------------------------------
-
-sub make_reply {
- my ($self, $query, $peerhost) = @_;
-
- my $reply = Net::DNS::Packet->new(); # create empty reply packet
- $reply->header->qr(1);
-
- my $headermask;
-
- unless ($query) {
- print "ERROR: invalid packet\n" if $self->{"Verbose"};
- $reply->header->rcode("FORMERR");
- return $reply;
- }
-
- if ($query->header->qr()) {
- print "ERROR: invalid packet (qr was set, dropping)\n" if $self->{"Verbose"};
- return;
- }
-
-
- # question section returned to caller
- my @q = $query->question;
- @q=( Net::DNS::Question->new('', 'ANY', 'ANY') ) unless @q;
-
- $reply->push("question", @q);
-
- if ($query->header->opcode eq "QUERY" ||
- $query->header->opcode eq "NS_NOTIFY_OP" #RFC1996
- ) {
- if ($query->header->qdcount == 1) {
- my ($qr) = @q;
- my $qname = $qr->qname;
- my $qtype = $qr->qtype;
- my $qclass = $qr->qclass;
-
- print "query ", $query->header->id,
- ": ($qname, $qclass, $qtype) - " if $self->{"Verbose"};
-
- my ($rcode, $ans, $auth, $add);
-
- if ($query->header->opcode eq "QUERY"){
- ($rcode, $ans, $auth, $add, $headermask) =
- &{$self->{"ReplyHandler"}}($qname, $qclass, $qtype, $peerhost, $query);
- }else{
- $reply->header->rcode("SERVFAIL") unless
- ( ref $self->{"NotifyHandler"} eq "CODE");
- ($rcode, $ans, $auth, $add, $headermask) =
- &{$self->{"NotifyHandler"}}($qname, $qclass, $qtype, $peerhost, $query);
- }
- print "$rcode\n" if $self->{"Verbose"};
-
- $reply->header->rcode($rcode);
-
- $reply->push("answer", @$ans) if $ans;
- $reply->push("authority", @$auth) if $auth;
- $reply->push("additional", @$add) if $add;
- } else {
- print "ERROR: qdcount ", $query->header->qdcount,
- "unsupported\n" if $self->{"Verbose"};
- $reply->header->rcode("FORMERR");
- }
- } else {
- print "ERROR: opcode ", $query->header->opcode, " unsupported\n"
- if $self->{"Verbose"};
- $reply->header->rcode("FORMERR");
- }
-
-
-
- if (!defined ($headermask)) {
- $reply->header->ra(1);
- $reply->header->ad(0);
- } else {
- $reply->header->aa(1) if $headermask->{'aa'};
- $reply->header->ra(1) if $headermask->{'ra'};
- $reply->header->ad(1) if $headermask->{'ad'};
- }
-
-
- $reply->header->cd($query->header->cd);
- $reply->header->rd($query->header->rd);
- $reply->header->id($query->header->id);
-
- $reply->header->print if $self->{"Verbose"} && defined $headermask;
-
- return $reply;
-}
-
-#------------------------------------------------------------------------------
-# readfromtcp - read from a TCP client
-#------------------------------------------------------------------------------
-
-sub readfromtcp {
- my ($self, $sock) = @_;
- return -1 unless defined $self->{"_tcp"}{$sock};
- my $peer = $self->{"_tcp"}{$sock}{"peer"};
- my $charsread = $sock->sysread(
- $self->{"_tcp"}{$sock}{"inbuffer"},
- 16384);
- $self->{"_tcp"}{$sock}{"timeout"} = time()+120; # Reset idle timer
- print "Received $charsread octets from $peer\n" if $self->{"Verbose"};
- if ($charsread == 0) { # 0 octets means socket has closed
- print "Connection to $peer closed or lost.\n" if $self->{"Verbose"};
- $self->{"select"}->remove($sock);
- $sock->close();
- delete $self->{"_tcp"}{$sock};
- return $charsread;
- }
- return $charsread;
-}
-
-#------------------------------------------------------------------------------
-# tcp_connection - Handle a TCP connection.
-#------------------------------------------------------------------------------
-
-sub tcp_connection {
- my ($self, $sock) = @_;
-
- if (not $self->{"_tcp"}{$sock}) {
- # We go here if we are called with a listener socket.
- my $client = $sock->accept;
- if (not defined $client) {
- print "TCP connection closed by peer before we could accept it.\n" if $self->{"Verbose"};
- return 0;
- }
- my $peerport= $client->peerport;
- my $peerhost = $client->peerhost;
-
- print "TCP connection from $peerhost:$peerport\n" if $self->{"Verbose"};
- $client->blocking(0);
- $self->{"_tcp"}{$client}{"peer"} = "tcp:".$peerhost.":".$peerport;
- $self->{"_tcp"}{$client}{"state"} = STATE_ACCEPTED;
- $self->{"_tcp"}{$client}{"socket"} = $client;
- $self->{"_tcp"}{$client}{"timeout"} = time()+120;
- $self->{"select"}->add($client);
- # After we accepted we will look at the socket again
- # to see if there is any data there. ---Olaf
- $self->loop_once(0);
- } else {
- # We go here if we are called with a client socket
- my $peer = $self->{"_tcp"}{$sock}{"peer"};
-
- if ($self->{"_tcp"}{$sock}{"state"} == STATE_ACCEPTED) {
- if (not $self->{"_tcp"}{$sock}{"inbuffer"} =~ s/^(..)//s) {
- return; # Still not 2 octets ready
- }
- my $msglen = unpack("n", $1);
- print "Removed 2 octets from the input buffer from $peer.\n".
- "$peer said his query contains $msglen octets.\n"
- if $self->{"Verbose"};
- $self->{"_tcp"}{$sock}{"state"} = STATE_GOT_LENGTH;
- $self->{"_tcp"}{$sock}{"querylength"} = $msglen;
- }
- # Not elsif, because we might already have all the data
- if ($self->{"_tcp"}{$sock}{"state"} == STATE_GOT_LENGTH) {
- # return if not all data has been received yet.
- return if $self->{"_tcp"}{$sock}{"querylength"} > length $self->{"_tcp"}{$sock}{"inbuffer"};
-
- my $qbuf = substr($self->{"_tcp"}{$sock}{"inbuffer"}, 0, $self->{"_tcp"}{$sock}{"querylength"});
- substr($self->{"_tcp"}{$sock}{"inbuffer"}, 0, $self->{"_tcp"}{$sock}{"querylength"}) = "";
- my $query = Net::DNS::Packet->new(\$qbuf);
- my $reply = $self->make_reply($query, $sock->peerhost);
- if (not defined $reply) {
- print "I couldn't create a reply for $peer. Closing socket.\n"
- if $self->{"Verbose"};
- $self->{"select"}->remove($sock);
- $sock->close();
- delete $self->{"_tcp"}{$sock};
- return;
- }
- my $reply_data = $reply->data;
- my $len = length $reply_data;
- $self->{"_tcp"}{$sock}{"outbuffer"} = pack("n", $len) . $reply_data;
- print "Queued ",
- length $self->{"_tcp"}{$sock}{"outbuffer"},
- " octets to $peer\n"
- if $self->{"Verbose"};
- # We are done.
- $self->{"_tcp"}{$sock}{"state"} = STATE_SENDING;
- }
- }
-}
-
-#------------------------------------------------------------------------------
-# udp_connection - Handle a UDP connection.
-#------------------------------------------------------------------------------
-
-sub udp_connection {
- my ($self, $sock) = @_;
-
- my $buf = "";
-
- $sock->recv($buf, &Net::DNS::PACKETSZ);
- my ($peerhost,$peerport) = ($sock->peerhost, $sock->peerport);
-
- print "UDP connection from $peerhost:$peerport\n" if $self->{"Verbose"};
-
- my $query = Net::DNS::Packet->new(\$buf);
-
- my $reply = $self->make_reply($query, $peerhost) || return;
- my $reply_data = $reply->data;
-
- local $| = 1 if $self->{"Verbose"};
- print "Writing response - " if $self->{"Verbose"};
-
- if ($sock->send($reply_data)) { #
- print "done\n" if $self->{"Verbose"};
- }
- else {
- print "failed to send reply: $!\n" if $self->{"Verbose"};
- }
- }
-
-
-sub get_open_tcp {
- my $self=shift;
- return keys %{$self->{"_tcp"}};
-}
-
-
-#------------------------------------------------------------------------------
-# loop_once - Just check "once" on sockets already set up
-#------------------------------------------------------------------------------
-
-# This function might not actually return immediately. If an AXFR request is
-# coming in which will generate a huge reply, we will not relinquish control
-# until our outbuffers are empty.
-
-#
-# NB this method may be subject to change and is therefore left 'undocumented'
-#
-
-sub loop_once {
- my ($self, $timeout) = @_;
- $timeout=0 unless defined($timeout);
- print ";loop_once called with $timeout \n" if $self->{"Verbose"} >4;
- foreach my $sock (keys %{$self->{"_tcp"}}) {
- $timeout = 0.1 if $self->{"_tcp"}{$sock}{"outbuffer"};
- }
- my @ready = $self->{"select"}->can_read($timeout);
-
- foreach my $sock (@ready) {
- my $protonum = $sock->protocol;
- # This is a weird and nasty hack. Although not incorrect,
- # I just don't know why ->protocol won't tell me the protocol
- # on a connected socket. --robert
- $protonum = getprotobyname('tcp') if not defined $protonum and $self->{"_tcp"}{$sock};
-
- my $proto = getprotobynumber($protonum);
- if (!$proto) {
- print "ERROR: connection with unknown protocol\n"
- if $self->{"Verbose"};
- } elsif (lc($proto) eq "tcp") {
-
- $self->readfromtcp($sock) &&
- $self->tcp_connection($sock);
- } elsif (lc($proto) eq "udp") {
- $self->udp_connection($sock);
- } else {
- print "ERROR: connection with unsupported protocol $proto\n"
- if $self->{"Verbose"};
- }
- }
- my $now = time();
- # Lets check if any of our TCP clients has pending actions.
- # (outbuffer, timeout)
- foreach my $s (keys %{$self->{"_tcp"}}) {
- my $sock = $self->{"_tcp"}{$s}{"socket"};
- if ($self->{"_tcp"}{$s}{"outbuffer"}) {
- # If we have buffered output, then send as much as the OS will accept
- # and wait with the rest
- my $len = length $self->{"_tcp"}{$s}{"outbuffer"};
- my $charssent = $sock->syswrite($self->{"_tcp"}{$s}{"outbuffer"});
- print "Sent $charssent of $len octets to ",$self->{"_tcp"}{$s}{"peer"},".\n"
- if $self->{"Verbose"};
- substr($self->{"_tcp"}{$s}{"outbuffer"}, 0, $charssent) = "";
- if (length $self->{"_tcp"}{$s}{"outbuffer"} == 0) {
- delete $self->{"_tcp"}{$s}{"outbuffer"};
- $self->{"_tcp"}{$s}{"state"} = STATE_ACCEPTED;
- if (length $self->{"_tcp"}{$s}{"inbuffer"} >= 2) {
- # See if the client has send us enough data to process the
- # next query.
- # We do this here, because we only want to process (and buffer!!)
- # a single query at a time, per client. If we allowed a STATE_SENDING
- # client to have new requests processed. We could be easilier
- # victims of DoS (client sending lots of queries and never reading
- # from it's socket).
- # Note that this does not disable serialisation on part of the
- # client. The split second it should take for us to lookip the
- # next query, is likely faster than the time it takes to
- # send the response... well, unless it's a lot of tiny queries,
- # in which case we will be generating an entire TCP packet per
- # reply. --robert
- $self->tcp_connection($self->{"_tcp"}{"socket"});
- }
- }
- $self->{"_tcp"}{$s}{"timeout"} = time()+120;
- } else {
- # Get rid of idle clients.
- my $timeout = $self->{"_tcp"}{$s}{"timeout"};
- if ($timeout - $now < 0) {
- print $self->{"_tcp"}{$s}{"peer"}," has been idle for too long and will be disconnected.\n"
- if $self->{"Verbose"};
- $self->{"select"}->remove($sock);
- $sock->close();
- delete $self->{"_tcp"}{$s};
- }
- }
- }
-}
-
-#------------------------------------------------------------------------------
-# main_loop - Main nameserver loop.
-#------------------------------------------------------------------------------
-
-sub main_loop {
- my $self = shift;
-
- while (1) {
- print "Waiting for connections...\n" if $self->{"Verbose"};
- # You really need an argument otherwise you'll be burning
- # CPU.
- $self->loop_once(10);
- }
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Net::DNS::Nameserver - DNS server class
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::Nameserver;>
-
-=head1 DESCRIPTION
-
-Instances of the C<Net::DNS::Nameserver> class represent DNS server
-objects. See L</EXAMPLE> for an example.
-
-=head1 METHODS
-
-=head2 new
-
- my $ns = Net::DNS::Nameserver->new(
- LocalAddr => "10.1.2.3",
- LocalPort => "5353",
- ReplyHandler => \&reply_handler,
- Verbose => 1
- );
-
-
-
- my $ns = Net::DNS::Nameserver->new(
- LocalAddr => ['::1' , '127.0.0.1' ],
- LocalPort => "5353",
- ReplyHandler => \&reply_handler,
- Verbose => 1
- );
-
-Creates a nameserver object. Attributes are:
-
- LocalAddr IP address on which to listen. Defaults to INADDR_ANY.
- LocalPort Port on which to listen. Defaults to 53.
- ReplyHandler Reference to reply-handling
- subroutine Required.
- NotifyHandler Reference to reply-handling
- subroutine for queries with
- opdcode NS_NOTIFY (RFC1996)
- Verbose Print info about received
- queries. Defaults to 0 (off).
-
-
-The LocalAddr attribute may alternatively be specified as a list of IP
-addresses to listen to.
-
-If IO::Socket::INET6 and Socket6 are available on the system you can
-also list IPv6 addresses and the default is '0' (listen on all interfaces on
-IPv6 and IPv4);
-
-
-The ReplyHandler subroutine is passed the query name, query class,
-query type and optionally an argument containing the peerhost the
-incoming query. It must return the response code and references to the
-answer, authority, and additional sections of the response. Common
-response codes are:
-
- NOERROR No error
- FORMERR Format error
- SERVFAIL Server failure
- NXDOMAIN Non-existent domain (name doesn't exist)
- NOTIMP Not implemented
- REFUSED Query refused
-
-For advanced usage it may also contain a headermaks containing an
-hashref with the settings for the C<aa>, C<ra>, and C<ad>
-header bits. The argument is of the form
-C<< { ad => 1, aa => 0, ra => 1 } >>.
-
-
-See RFC 1035 and the IANA dns-parameters file for more information:
-
- ftp://ftp.rfc-editor.org/in-notes/rfc1035.txt
- http://www.isi.edu/in-notes/iana/assignments/dns-parameters
-
-The nameserver will listen for both UDP and TCP connections. On
-Unix-like systems, the program will probably have to run as root
-to listen on the default port, 53. A non-privileged user should
-be able to listen on ports 1024 and higher.
-
-Returns a Net::DNS::Nameserver object, or undef if the object
-couldn't be created.
-
-See L</EXAMPLE> for an example.
-
-=head2 main_loop
-
- $ns->main_loop;
-
-Start accepting queries. Calling main_loop never returns.
-
-=cut
-
-#####
-#
-# The functionality might change. Left "undocumented" for now.
-#
-=head2 loop_once
-
- $ns->loop_once( [TIMEOUT_IN_SECONDS] );
-
-Start accepting queries, but returns. If called without a parameter,
-the call will not return until a request has been received (and
-replied to). If called with a number, that number specifies how many
-seconds (even fractional) to maximum wait before returning. If called
-with 0 it will return immediately unless there's something to do.
-
-Handling a request and replying obviously depends on the speed of
-ReplyHandler. Assuming ReplyHandler is super fast, loop_once should spend
-just a fraction of a second, if called with a timeout value of 0 seconds.
-One exception is when an AXFR has requested a huge amount of data that
-the OS is not ready to receive in full. In that case, it will keep
-running through a loop (while servicing new requests) until the reply
-has been sent.
-
-In case loop_once accepted a TCP connection it will immediatly check
-if there is data to be read from the socket. If not it will return and
-you will have to call loop_once() again to check if there is any data
-waiting on the socket to be processed. In most cases you will have to
-count on calling "loop_once" twice.
-
-A code fragment like:
- $ns->loop_once(10);
- while( $ns->get_open_tcp() ){
- $ns->loop_once(0);
- }
-
-Would wait for 10 seconds for the initial connection and would then
-process all TCP sockets until none is left.
-
-=head2 get_open_tcp
-
-In scalar context returns the number of TCP connections for which state
-is maintained. In array context it returns IO::Socket objects, these could
-be useful for troubleshooting but be careful using them.
-
-=head1 EXAMPLE
-
-The following example will listen on port 5353 and respond to all queries
-for A records with the IP address 10.1.2.3. All other queries will be
-answered with NXDOMAIN. Authority and additional sections are left empty.
-The $peerhost variable catches the IP address of the peer host, so that
-additional filtering on its basis may be applied.
-
- #!/usr/bin/perl
-
- use Net::DNS::Nameserver;
- use strict;
- use warnings;
-
- sub reply_handler {
- my ($qname, $qclass, $qtype, $peerhost,$query) = @_;
- my ($rcode, @ans, @auth, @add);
-
- print "Received query from $peerhost\n";
- $query->print;
-
-
- if ($qtype eq "A" && $qname eq "foo.example.com" ) {
- my ($ttl, $rdata) = (3600, "10.1.2.3");
- push @ans, Net::DNS::RR->new("$qname $ttl $qclass $qtype $rdata");
- $rcode = "NOERROR";
- }elsif( $qname eq "foo.example.com" ) {
- $rcode = "NOERROR";
-
- }else{
- $rcode = "NXDOMAIN";
- }
-
-
- # mark the answer as authoritive (by setting the 'aa' flag
- return ($rcode, \@ans, \@auth, \@add, { aa => 1 });
- }
-
- my $ns = Net::DNS::Nameserver->new(
- LocalPort => 5353,
- ReplyHandler => \&reply_handler,
- Verbose => 1,
- ) || die "couldn't create nameserver object\n";
-
- $ns->main_loop;
-
-=head1 BUGS
-
-Limitations in perl 5.8.6 makes it impossible to guarantee that
-replies to UDP queries from Net::DNS::Nameserver are sent from the
-IP-address they were received on. This is a problem for machines with
-multiple IP-addresses and causes violation of RFC2181 section 4.
-Thus a UDP socket created listening to INADDR_ANY (all available
-IP-addresses) will reply not necessarily with the source address being
-the one to which the request was sent, but rather with the address that
-the operating system choses. This is also often called "the closest
-address". This should really only be a problem on a server which has
-more than one IP-address (besides localhost - any experience with IPv6
-complications here, would be nice). If this is a problem for you, a
-work-around would be to not listen to INADDR_ANY but to specify each
-address that you want this module to listen on. A seperate set of
-sockets will then be created for each IP-address.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-Portions Copyright (c) 2005-2007 O.M, Kolkman, RIPE NCC.
-
-Portions Copyright (c) 2005 Robert Martin-Legene.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Update>, L<Net::DNS::Header>, L<Net::DNS::Question>,
-L<Net::DNS::RR>, RFC 1035
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Packet.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Packet.pm
deleted file mode 100644
index 9aabcac01e4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Packet.pm
+++ /dev/null
@@ -1,749 +0,0 @@
-package Net::DNS::Packet;
-#
-# $Id: Packet.pm 704 2008-02-06 21:30:59Z olaf $
-#
-use strict;
-
-BEGIN {
- eval { require bytes; }
-}
-
-use vars qw(@ISA @EXPORT_OK $VERSION $AUTOLOAD);
-
-use Carp;
-use Net::DNS ;
-use Net::DNS::Question;
-use Net::DNS::RR;
-
-
-
-require Exporter;
-@ISA = qw(Exporter);
-@EXPORT_OK = qw(dn_expand);
-
-
-$VERSION = (qw$LastChangedRevision: 704 $)[1];
-
-
-
-=head1 NAME
-
-Net::DNS::Packet - DNS packet object class
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::Packet;>
-
-=head1 DESCRIPTION
-
-A C<Net::DNS::Packet> object represents a DNS packet.
-
-=head1 METHODS
-
-=head2 new
-
- $packet = Net::DNS::Packet->new("example.com");
- $packet = Net::DNS::Packet->new("example.com", "MX", "IN");
-
- $packet = Net::DNS::Packet->new(\$data);
- $packet = Net::DNS::Packet->new(\$data, 1); # set debugging
-
- ($packet, $err) = Net::DNS::Packet->new(\$data);
-
- $packet = Net::DNS::Packet->new();
-
-If passed a domain, type, and class, C<new> creates a packet
-object appropriate for making a DNS query for the requested
-information. The type and class can be omitted; they default
-to A and IN.
-
-If passed a reference to a scalar containing DNS packet data,
-C<new> creates a packet object from that data. A second argument
-can be passed to turn on debugging output for packet parsing.
-
-If called in array context, returns a packet object and an
-error string. The error string will only be defined if the
-packet object is undefined (i.e., couldn't be created).
-
-Returns B<undef> if unable to create a packet object (e.g., if
-the packet data is truncated).
-
-If called with an empty argument list, C<new> creates an empty packet.
-
-=cut
-
-sub new {
- my $class = shift;
- my ($data) = @_;
- return $class->parse(@_) if ref $data;
-
- my %self = ( header => Net::DNS::Header->new,
- question => [],
- answer => [],
- authority => [],
- additional => [] );
-
- push @{$self{question}}, Net::DNS::Question->new(@_) if @_;
-
- bless \%self, $class;
-}
-
-
-
-sub parse {
- my $class = shift;
- my $data = shift;
- my $debug = shift || 0;
-
- my %self = ( question => [],
- answer => [],
- authority => [],
- additional => [],
- answersize => length $$data,
- buffer => $data );
-
- my $self = eval {
- # Parse header section
- my ($header, $offset) = Net::DNS::Header->parse($data);
- $self{header} = $header;
-
- # Parse question/zone section
- for ( 1 .. $header->qdcount ) {
- my $qd;
- ($qd, $offset) = Net::DNS::Question->parse($data, $offset);
- push(@{$self{question}}, $qd);
- }
-
- # Retain offset for on-demand parse of remaining data
- $self{offset} = $offset;
-
- bless \%self, $class;
- };
-
- ($self || die $@)->print if $debug;
-
- return wantarray ? ($self, $@) : $self;
-}
-
-
-
-=head2 data
-
- $data = $packet->data;
-
-Returns the packet data in binary format, suitable for sending to
-a nameserver.
-
-=cut
-
-sub data {
- my $self = shift;
- my $data = '';
- my $header = $self->{header};
-
- # Default question for empty packet
- $self->push('question', Net::DNS::Question->new('','ANY','ANY'))
- unless @{$self->{question}};
-
- #----------------------------------------------------------------------
- # Set record counts in packet header
- #----------------------------------------------------------------------
- $header->qdcount( scalar @{$self->{question}} );
- $header->ancount( scalar @{$self->{answer}} );
- $header->nscount( scalar @{$self->{authority}} );
- $header->arcount( scalar @{$self->{additional}} );
-
- #----------------------------------------------------------------------
- # Get the data for each section in the packet
- #----------------------------------------------------------------------
- $self->{compnames} = {};
- foreach my $component ( $header,
- @{$self->{question}},
- @{$self->{answer}},
- @{$self->{authority}},
- @{$self->{additional}} ) {
- $data .= $component->data($self, length $data);
- }
-
- return $data;
-}
-
-
-=head2 header
-
- $header = $packet->header;
-
-Returns a C<Net::DNS::Header> object representing the header section
-of the packet.
-
-=cut
-
-sub header {
- return shift->{header};
-}
-
-=head2 question, zone
-
- @question = $packet->question;
-
-Returns a list of C<Net::DNS::Question> objects representing the
-question section of the packet.
-
-In dynamic update packets, this section is known as C<zone> and
-specifies the zone to be updated.
-
-=cut
-
-sub question {
- return @{shift->{question}};
-}
-
-sub zone { &question }
-
-=head2 answer, pre, prerequisite
-
- @answer = $packet->answer;
-
-Returns a list of C<Net::DNS::RR> objects representing the answer
-section of the packet.
-
-In dynamic update packets, this section is known as C<pre> or
-C<prerequisite> and specifies the RRs or RRsets which must or
-must not preexist.
-
-=cut
-
-sub answer {
- my @rr = eval { &_answer };
- carp "$@ caught" if $@;
- return @rr;
-}
-
-sub _answer {
- my ($self) = @_;
-
- my @rr = @{$self->{answer}};
- return @rr if @rr; # return if already parsed
-
- my $data = $self->{buffer}; # parse answer data
- my $offset = $self->{offset} || return;
- undef $self->{offset};
- my $ancount = $self->{header}->ancount;
- my $rr;
- while ( $ancount-- ) {
- ($rr, $offset) = Net::DNS::RR->parse($data, $offset);
- push(@rr, $rr);
- }
- $self->{offset} = $offset; # index next section
- @{$self->{answer}} = @rr;
-}
-
-sub pre { &answer }
-sub prerequisite { &answer }
-
-=head2 authority, update
-
- @authority = $packet->authority;
-
-Returns a list of C<Net::DNS::RR> objects representing the authority
-section of the packet.
-
-In dynamic update packets, this section is known as C<update> and
-specifies the RRs or RRsets to be added or deleted.
-
-=cut
-
-sub authority {
- my @rr = eval { &_authority };
- carp "$@ caught" if $@;
- return @rr;
-}
-
-sub _authority {
- my ($self) = @_;
-
- my @rr = @{$self->{authority}};
- return @rr if @rr; # return if already parsed
-
- &_answer unless @{$self->{answer}}; # parse answer data
-
- my $data = $self->{buffer}; # parse authority data
- my $offset = $self->{offset} || return;
- undef $self->{offset};
- my $nscount = $self->{header}->nscount;
- my $rr;
- while ( $nscount-- ) {
- ($rr, $offset) = Net::DNS::RR->parse($data, $offset);
- push(@rr, $rr);
- }
- $self->{offset} = $offset; # index next section
- @{$self->{authority}} = @rr;
-}
-
-sub update { &authority }
-
-=head2 additional
-
- @additional = $packet->additional;
-
-Returns a list of C<Net::DNS::RR> objects representing the additional
-section of the packet.
-
-=cut
-
-sub additional {
- my @rr = eval { &_additional };
- carp "$@ caught" if $@;
- return @rr;
-}
-
-sub _additional {
- my ($self) = @_;
-
- my @rr = @{$self->{additional}};
- return @rr if @rr; # return if already parsed
-
- &_authority unless @{$self->{authority}}; # parse authority data
-
- my $data = $self->{buffer}; # parse additional data
- undef $self->{buffer}; # discard raw data after use
- my $offset = $self->{offset} || return;
- undef $self->{offset};
- my $arcount = $self->{header}->arcount;
- my $rr;
- while ( $arcount-- ) {
- ($rr, $offset) = Net::DNS::RR->parse($data, $offset);
- push(@rr, $rr);
- }
- @{$self->{additional}} = @rr;
-}
-
-
-=head2 print
-
- $packet->print;
-
-Prints the packet data on the standard output in an ASCII format
-similar to that used in DNS zone files.
-
-=cut
-
-sub print { print &string; }
-
-=head2 string
-
- print $packet->string;
-
-Returns a string representation of the packet.
-
-=cut
-
-sub string {
- my $self = shift;
-
- my $header = $self->{header};
- my $update = $header->opcode eq 'UPDATE';
-
- my $server = $self->{answerfrom};
- my $string = $server ? ";; Answer received from $server ($self->{answersize} bytes)\n" : "";
-
- $string .= ";; HEADER SECTION\n".$header->string;
-
- my $question = $update ? 'ZONE' : 'QUESTION';
- my @question = map{$_->string} $self->question;
- my $qdcount = @question;
- my $qds = $qdcount != 1 ? 's' : '';
- $string .= join "\n;; ", "\n;; $question SECTION ($qdcount record$qds)", @question;
-
- my $answer = $update ? 'PREREQUISITE' : 'ANSWER';
- my @answer = map{$_->string} $self->answer;
- my $ancount = @answer;
- my $ans = $ancount != 1 ? 's' : '';
- $string .= join "\n", "\n\n;; $answer SECTION ($ancount record$ans)", @answer;
-
- my $authority = $update ? 'UPDATE' : 'AUTHORITY';
- my @authority = map{$_->string} $self->authority;
- my $nscount = @authority;
- my $nss = $nscount != 1 ? 's' : '';
- $string .= join "\n", "\n\n;; $authority SECTION ($nscount record$nss)", @authority;
-
- my @additional = map{$_->string} $self->additional;
- my $arcount = @additional;
- my $ars = $arcount != 1 ? 's' : '';
- $string .= join "\n", "\n\n;; ADDITIONAL SECTION ($arcount record$ars)", @additional;
-
- return $string."\n\n";
-}
-
-=head2 answerfrom
-
- print "packet received from ", $packet->answerfrom, "\n";
-
-Returns the IP address from which we received this packet. User-created
-packets will return undef for this method.
-
-=cut
-
-sub answerfrom {
- my $self = shift;
-
- return $self->{answerfrom} = shift if @_;
-
- return $self->{answerfrom};
-}
-
-=head2 answersize
-
- print "packet size: ", $packet->answersize, " bytes\n";
-
-Returns the size of the packet in bytes as it was received from a
-nameserver. User-created packets will return undef for this method
-(use C<< length $packet->data >> instead).
-
-=cut
-
-sub answersize {
- return shift->{answersize};
-}
-
-=head2 push
-
- $ancount = $packet->push(pre => $rr);
- $nscount = $packet->push(update => $rr);
- $arcount = $packet->push(additional => $rr);
-
- $nscount = $packet->push(update => $rr1, $rr2, $rr3);
- $nscount = $packet->push(update => @rr);
-
-Adds RRs to the specified section of the packet.
-
-Returns the number of resource records in the specified section.
-
-
-=cut
-
-sub push {
- my $self = shift;
- my $section = lc shift || '';
- my @rr = map{ref $_ ? $_ : ()} @_;
-
- my $hdr = $self->{header};
- for ( $section ) {
- return $hdr->qdcount(push(@{$self->{question}}, @rr)) if /^question/;
-
- if ( $hdr->opcode eq 'UPDATE' ) {
- my ($zone) = $self->zone;
- my $zclass = $zone->zclass;
- foreach ( @rr ) {
- $_->class($zclass) unless $_->class =~ /ANY|NONE/;
- }
- }
-
- return $hdr->ancount(push(@{$self->{answer}}, @rr)) if /^ans|^pre/;
- return $hdr->nscount(push(@{$self->{authority}}, @rr)) if /^auth|^upd/;
- return $hdr->adcount(push(@{$self->{additional}}, @rr)) if /^add/;
- }
-
- carp qq(invalid section "$section");
- return undef; # undefined record count
-}
-
-
-=head2 unique_push
-
- $ancount = $packet->unique_push(pre => $rr);
- $nscount = $packet->unique_push(update => $rr);
- $arcount = $packet->unique_push(additional => $rr);
-
- $nscount = $packet->unique_push(update => $rr1, $rr2, $rr3);
- $nscount = $packet->unique_push(update => @rr);
-
-Adds RRs to the specified section of the packet provided that
-the RRs do not already exist in the packet.
-
-Returns the number of resource records in the specified section.
-
-=cut
-
-sub unique_push {
- my $self = shift;
- my $section = shift;
- my @rr = map{ref $_ ? $_ : ()} @_;
-
- my @unique = map{$self->{seen}->{ (lc $_->name) . $_->class . $_->type . $_->rdatastr }++ ? () : $_} @rr;
-
- return $self->push($section, @unique);
-}
-
-=head2 safe_push
-
-A deprecated name for C<unique_push()>.
-
-=cut
-
-sub safe_push {
- carp('safe_push() is deprecated, use unique_push() instead,');
- &unique_push;
-}
-
-
-=head2 pop
-
- my $rr = $packet->pop("pre");
- my $rr = $packet->pop("update");
- my $rr = $packet->pop("additional");
- my $rr = $packet->pop("question");
-
-Removes RRs from the specified section of the packet.
-
-=cut
-
-sub pop {
- my $self = shift;
- my $section = lc shift || '';
-
- for ( $section ) {
- return pop(@{$self->{answer}}) if /^ans|^pre/;
- return pop(@{$self->{question}}) if /^question/;
-
- $self->additional if $self->{buffer}; # parse remaining data
-
- return pop(@{$self->{authority}}) if /^auth|^upd/;
- return pop(@{$self->{additional}}) if /^add/;
- }
-
- carp qq(invalid section "$section");
- return undef;
-}
-
-
-=head2 dn_comp
-
- $compname = $packet->dn_comp("foo.example.com", $offset);
-
-Returns a domain name compressed for a particular packet object, to
-be stored beginning at the given offset within the packet data. The
-name will be added to a running list of compressed domain names for
-future use.
-
-=cut
-
-sub dn_comp {
- my ($self, $name, $offset) = @_;
- # The Exporter module does not seem to catch this baby...
- my @names=Net::DNS::name2labels($name);
- my $namehash = $self->{compnames};
- my $compname='';
-
- while (@names) {
- my $dname = join('.', @names);
-
- if ( my $pointer = $namehash->{$dname} ) {
- $compname .= pack('n', 0xc000 | $pointer);
- last;
- }
- $namehash->{$dname} = $offset;
-
- my $label = shift @names;
- my $length = length $label || next; # skip if null
- if ( $length > 63 ) {
- $length = 63;
- $label = substr($label, 0, $length);
- carp "\n$label...\ntruncated to $length octets (RFC1035 2.3.1)";
- }
- $compname .= pack('C a*', $length, $label);
- $offset += $length + 1;
- }
-
- $compname .= pack('C', 0) unless @names;
-
- return $compname;
-}
-
-=head2 dn_expand
-
- use Net::DNS::Packet qw(dn_expand);
- ($name, $nextoffset) = dn_expand(\$data, $offset);
-
- ($name, $nextoffset) = Net::DNS::Packet::dn_expand(\$data, $offset);
-
-Expands the domain name stored at a particular location in a DNS
-packet. The first argument is a reference to a scalar containing
-the packet data. The second argument is the offset within the
-packet where the (possibly compressed) domain name is stored.
-
-Returns the domain name and the offset of the next location in the
-packet.
-
-Returns B<(undef)> if the domain name couldn't be expanded.
-
-=cut
-# '
-
-# This is very hot code, so we try to keep things fast. This makes for
-# odd style sometimes.
-
-sub dn_expand {
-#FYI my ($packet, $offset) = @_;
- return dn_expand_XS(@_) if $Net::DNS::HAVE_XS;
-# warn "USING PURE PERL dn_expand()\n";
- return dn_expand_PP(@_, {} ); # $packet, $offset, anonymous hash
-}
-
-sub dn_expand_PP {
- my ($packet, $offset, $visited) = @_;
- my $packetlen = length $$packet;
- my $name = '';
-
- while ( $offset < $packetlen ) {
- unless ( my $length = unpack("\@$offset C", $$packet) ) {
- $name =~ s/\.$//o;
- return ($name, ++$offset);
-
- } elsif ( ($length & 0xc0) == 0xc0 ) { # pointer
- my $point = 0x3fff & unpack("\@$offset n", $$packet);
- die 'Exception: unbounded name expansion' if $visited->{$point}++;
-
- my ($suffix) = dn_expand_PP($packet, $point, $visited);
-
- return ($name.$suffix, $offset+2) if defined $suffix;
-
- } else {
- my $element = substr($$packet, ++$offset, $length);
- $name .= Net::DNS::wire2presentation($element).'.';
- $offset += $length;
- }
- }
- return undef;
-}
-
-=head2 sign_tsig
-
- $key_name = "tsig-key";
- $key = "awwLOtRfpGE+rRKF2+DEiw==";
-
- $update = Net::DNS::Update->new("example.com");
- $update->push("update", rr_add("foo.example.com A 10.1.2.3"));
-
- $update->sign_tsig($key_name, $key);
-
- $response = $res->send($update);
-
-Signs a packet with a TSIG resource record (see RFC 2845). Uses the
-following defaults:
-
- algorithm = HMAC-MD5.SIG-ALG.REG.INT
- time_signed = current time
- fudge = 300 seconds
-
-If you wish to customize the TSIG record, you'll have to create it
-yourself and call the appropriate Net::DNS::RR::TSIG methods. The
-following example creates a TSIG record and sets the fudge to 60
-seconds:
-
- $key_name = "tsig-key";
- $key = "awwLOtRfpGE+rRKF2+DEiw==";
-
- $tsig = Net::DNS::RR->new("$key_name TSIG $key");
- $tsig->fudge(60);
-
- $query = Net::DNS::Packet->new("www.example.com");
- $query->sign_tsig($tsig);
-
- $response = $res->send($query);
-
-You shouldn't modify a packet after signing it; otherwise authentication
-will probably fail.
-
-=cut
-
-sub sign_tsig {
- my $self = shift;
- my $tsig = shift || return undef;
-
- unless ( ref $tsig && ($tsig->type eq "TSIG") ) {
- my $key = shift || return undef;
- $tsig = Net::DNS::RR->new("$tsig TSIG $key");
- }
-
- $self->push('additional', $tsig) if $tsig;
- return $tsig;
-}
-
-
-
-=head2 sign_sig0
-
-SIG0 support is provided through the Net::DNS::RR::SIG class. This class is not part
-of the default Net::DNS distribution but resides in the Net::DNS::SEC distribution.
-
- $update = Net::DNS::Update->new("example.com");
- $update->push("update", rr_add("foo.example.com A 10.1.2.3"));
- $update->sign_sig0("Kexample.com+003+25317.private");
-
-
-SIG0 support is experimental see Net::DNS::RR::SIG for details.
-
-The method will call C<Carp::croak()> if Net::DNS::RR::SIG cannot be found.
-
-
-=cut
-
-sub sign_sig0 {
- my $self = shift;
- my $arg = shift || return undef;
- my $sig0;
-
- croak('sign_sig0() is only available when Net::DNS::SEC is installed')
- unless $Net::DNS::DNSSEC;
-
- if ( ref $arg ) {
- if ( UNIVERSAL::isa($arg,'Net::DNS::RR::SIG') ) {
- $sig0 = $arg;
-
- } elsif ( UNIVERSAL::isa($arg,'Net::DNS::SEC::Private') ) {
- $sig0 = Net::DNS::RR::SIG->create('', $arg);
-
- } elsif ( UNIVERSAL::isa($arg,'Net::DNS::RR::SIG::Private') ) {
- carp ref($arg).' is deprecated - use Net::DNS::SEC::Private instead';
- $sig0 = Net::DNS::RR::SIG->create('', $arg);
-
- } else {
- croak 'Incompatible class as argument to sign_sig0: '.ref($arg);
-
- }
-
- } else {
- $sig0 = Net::DNS::RR::SIG->create('', $arg);
- }
-
- $self->push('additional', $sig0) if $sig0;
- return $sig0;
-}
-
-
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-Portions Copyright (c) 2002-2005 Olaf Kolkman
-
-Portions Copyright (c) 2007-2008 Dick Franks
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Update>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 4.1, RFC 2136 Section 2, RFC 2845
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Question.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Question.pm
deleted file mode 100644
index a2094383e5e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Question.pm
+++ /dev/null
@@ -1,260 +0,0 @@
-package Net::DNS::Question;
-#
-# $Id: Question.pm 704 2008-02-06 21:30:59Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-
-use vars qw($VERSION $AUTOLOAD);
-
-use Carp;
-use Net::DNS;
-
-$VERSION = (qw$LastChangedRevision: 704 $)[1];
-
-=head1 NAME
-
-Net::DNS::Question - DNS question class
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::Question>
-
-=head1 DESCRIPTION
-
-A C<Net::DNS::Question> object represents a record in the
-question section of a DNS packet.
-
-=head1 METHODS
-
-=head2 new
-
- $question = Net::DNS::Question->new("example.com", "MX", "IN");
-
-Creates a question object from the domain, type, and class passed
-as arguments.
-
-RFC4291 and RFC4632 IP address/prefix notation is supported for
-queries in in-addr.arpa and ip6.arpa subdomains.
-
-=cut
-
-sub new {
- my $class = shift;
-
- my $qname = shift;
- my $qtype = uc (shift || 'A');
- my $qclass = uc (shift || 'IN');
-
- $qname = '' unless defined $qname; # || ''; is NOT same!
- $qname =~ s/\.+$//o; # strip gratuitous trailing dot
-
- # Check if the caller has the type and class reversed.
- # We are not that kind for unknown types.... :-)
- ($qtype, $qclass) = ($qclass, $qtype)
- if exists $Net::DNS::classesbyname{$qtype}
- and exists $Net::DNS::typesbyname{$qclass};
-
- # if argument is an IP address, do appropriate reverse lookup
- my $reverse = _dns_addr($qname) if $qname =~ m/:|\d$/o;
- if ( $reverse ) {
- $qname = $reverse;
- $qtype = 'PTR' if $qtype =~ m/^(A|AAAA)$/o;
- }
-
- my $self = { qname => $qname,
- qtype => $qtype,
- qclass => $qclass
- };
-
- bless $self, $class;
-}
-
-
-sub _dns_addr {
- my $arg = shift; # name or IP address
-
- # IP address must contain address characters only
- return undef if $arg =~ m#[^a-fA-F0-9:./]#o;
-
- # if arg looks like IPv4 address then map to in-addr.arpa space
- if ( $arg =~ m#(^|:.*:)((^|\d+\.)+\d+)(/(\d+))?$#o ) {
- my @parse = split /\./, $2;
- my $prefx = $5 || @parse<<3;
- my $last = $prefx > 24 ? 3 : ($prefx-1)>>3;
- return join '.', reverse( (@parse,(0)x3)[0 .. $last] ), 'in-addr.arpa';
- }
-
- # if arg looks like IPv6 address then map to ip6.arpa space
- if ( $arg =~ m#^((\w*:)+)(\w*)(/(\d+))?$#o ) {
- my @parse = split /:/, (reverse "0${1}0${3}"), 9;
- my @xpand = map{/./ ? $_ : ('0')x(9-@parse)} @parse; # expand ::
- my $prefx = $5 || @xpand<<4; # implicit length if unspecified
- my $hex = pack 'A4'x8, map{$_.'000'} ('0')x(8-@xpand), @xpand;
- my $len = $prefx > 124 ? 32 : ($prefx+3)>>2;
- return join '.', split(//, substr($hex,-$len) ), 'ip6.arpa';
- }
-
- return undef;
-}
-
-
-=head2 parse
-
- ($question, $offset) = Net::DNS::Question->parse(\$data, $offset);
-
-Parses a question section record at the specified location within a DNS packet.
-The first argument is a reference to the packet data.
-The second argument is the offset within the packet where the question record begins.
-
-Returns a Net::DNS::Question object and the offset of the next location in the packet.
-
-Parsing is aborted if the question object cannot be created (e.g., corrupt or insufficient data).
-
-=cut
-
-use constant PACKED_LENGTH => length pack 'n2', (0)x2;
-
-sub parse {
- my ($class, $data, $offset) = @_;
-
- my ($qname, $index) = Net::DNS::Packet::dn_expand($data, $offset);
- die 'Exception: corrupt or incomplete data' unless $index;
-
- my $next = $index + PACKED_LENGTH;
- die 'Exception: incomplete data' if length $$data < $next;
- my ($qtype, $qclass) = unpack("\@$index n2", $$data);
-
- my $self = { qname => $qname,
- qtype => Net::DNS::typesbyval($qtype),
- qclass => Net::DNS::classesbyval($qclass)
- };
-
- bless $self, $class;
-
- return wantarray ? ($self, $next) : $self;
-}
-
-
-#
-# Some people have reported that Net::DNS dies because AUTOLOAD picks up
-# calls to DESTROY.
-#
-sub DESTROY {}
-
-=head2 qname, zname
-
- print "qname = ", $question->qname, "\n";
- print "zname = ", $question->zname, "\n";
-
-Returns the domain name. In dynamic update packets, this field is
-known as C<zname> and refers to the zone name.
-
-=head2 qtype, ztype
-
- print "qtype = ", $question->qtype, "\n";
- print "ztype = ", $question->ztype, "\n";
-
-Returns the record type. In dymamic update packets, this field is
-known as C<ztype> and refers to the zone type (must be SOA).
-
-=head2 qclass, zclass
-
- print "qclass = ", $question->qclass, "\n";
- print "zclass = ", $question->zclass, "\n";
-
-Returns the record class. In dynamic update packets, this field is
-known as C<zclass> and refers to the zone's class.
-
-=cut
-
-sub zname { &qname; }
-sub ztype { &qtype; }
-sub zclass { &qclass; }
-
-
-sub AUTOLOAD {
- my $self = shift;
-
- my $name = $AUTOLOAD;
- $name =~ s/.*://o;
-
- croak "$AUTOLOAD: no such method" unless exists $self->{$name};
-
- return $self->{$name} unless @_;
-
- my $value = shift;
- $value =~ s/\.+$//o if defined $value; # strip gratuitous trailing dot
- $self->{$name} = $value;
-}
-
-=head2 print
-
- $question->print;
-
-Prints the question record on the standard output.
-
-=cut
-
-sub print { print &string, "\n"; }
-
-=head2 string
-
- print $qr->string, "\n";
-
-Returns a string representation of the question record.
-
-=cut
-
-sub string {
- my $self = shift;
- return "$self->{qname}.\t$self->{qclass}\t$self->{qtype}";
-}
-
-=head2 data
-
- $qdata = $question->data($packet, $offset);
-
-Returns the question record in binary format suitable for inclusion
-in a DNS packet.
-
-Arguments are a C<Net::DNS::Packet> object and the offset within
-that packet's data where the C<Net::DNS::Question> record is to
-be stored. This information is necessary for using compressed
-domain names.
-
-=cut
-
-sub data {
- my ($self, $packet, $offset) = @_;
-
- my $data = $packet->dn_comp($self->{qname}, $offset);
-
- $data .= pack('n2', Net::DNS::typesbyname(uc $self->{qtype}),
- Net::DNS::classesbyname(uc $self->{qclass})
- );
- return $data;
-}
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-Portions Copyright (c) 2003,2006-2007 Dick Franks.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Update>, L<Net::DNS::Header>, L<Net::DNS::RR>,
-RFC 1035 Section 4.1.2
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR.pm
deleted file mode 100644
index c3e2b829f8d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR.pm
+++ /dev/null
@@ -1,1022 +0,0 @@
-package Net::DNS::RR;
-#
-# $Id: RR.pm 705 2008-02-06 21:59:18Z olaf $
-#
-use strict;
-
-BEGIN {
- eval { require bytes; }
-}
-
-
-use vars qw($VERSION $AUTOLOAD %rrsortfunct );
-use Carp;
-use Net::DNS;
-use Net::DNS::RR::Unknown;
-
-
-
-$VERSION = (qw$LastChangedRevision: 705 $)[1];
-
-=head1 NAME
-
-Net::DNS::RR - DNS Resource Record class
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>
-
-=head1 DESCRIPTION
-
-C<Net::DNS::RR> is the base class for DNS Resource Record (RR) objects.
-See also the manual pages for each RR type.
-
-=head1 METHODS
-
-B<WARNING!!!> Don't assume the RR objects you receive from a query
-are of a particular type -- always check an object's type before calling
-any of its methods. If you call an unknown method, you'll get a nasty
-warning message and C<Net::DNS::RR> will return C<undef> to the caller.
-
-=cut
-#' Stupid Emacs (I Don't even USE emacs!) '
-
-# %RR needs to be available within the scope of the BEGIN block.
-# $RR_REGEX is a global just to be on the safe side.
-# %_LOADED is used internally for autoloading the RR subclasses.
-use vars qw(%RR %_LOADED $RR_REGEX);
-
-BEGIN {
-
- %RR = map { $_ => 1 } qw(
- A
- AAAA
- AFSDB
- CNAME
- CERT
- DNAME
- EID
- HINFO
- ISDN
- LOC
- MB
- MG
- MINFO
- MR
- MX
- NAPTR
- NIMLOC
- NS
- NSAP
- NULL
- PTR
- PX
- RP
- RT
- SOA
- SRV
- TKEY
- TSIG
- TXT
- X25
- OPT
- SSHFP
- SPF
- IPSECKEY
- );
-
- # Only load DNSSEC if available
-
- eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::RR::SIG;
- };
-
- unless ($@) {
- $RR{'SIG'} = 1;
- eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::RR::NXT;
- };
-
- unless ($@) {
- $RR{'NXT'} = 1;
- } else {
- die $@;
- }
-
- eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::RR::KEY;
- };
-
- unless ($@) {
- $RR{'KEY'} = 1;
- } else {
- die $@;
- }
-
- eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::RR::DS;
- };
-
- unless ($@) {
- $RR{'DS'} = 1;
-
- } else {
- die $@;
- }
-
- eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::RR::RRSIG;
- };
-
- unless ($@) {
- $RR{'RRSIG'} = 1;
- # If RRSIG is available so should the other DNSSEC types
- eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::RR::NSEC;
- };
- unless ($@) {
- $RR{'NSEC'} = 1;
- } else {
- die $@;
- }
- eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::RR::DNSKEY;
- };
-
- unless ($@) {
- $RR{'DNSKEY'} = 1;
- } else {
- die $@;
- }
- }
-
- eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::RR::DLV;
- };
-
- unless ($@) {
- $RR{'DLV'} =1;
- } else {
- # Die only if we are dealing with a version for which DLV is
- # available
- die $@ if defined ($Net::DNS::SEC::HAS_DLV) ;
-
- }
-
- eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::RR::NSEC3;
- };
-
- unless ($@) {
- $RR{'NSEC3'} =1;
- } else {
- # Die only if we are dealing with a version for which NSEC3 is # available
- die $@ if defined ($Net::DNS::SEC::HAS_NSEC3);
- }
-
-
- eval {
- local $SIG{'__DIE__'} = 'DEFAULT';
- require Net::DNS::RR::NSEC3PARAM;
- };
-
- unless ($@) {
- $RR{'NSEC3PARAM'} =1;
- } else {
- # Die only if we are dealing with a version for which NSEC3 is
- # available
-
- die $@ if defined($Net::DNS::SEC::SVNVERSION) && $Net::DNS::SEC::SVNVERSION > 619; # In the code since. (for users of the SVN trunk)
- }
-
-
-
- }
-}
-
-sub build_regex {
- my $classes = join('|', keys %Net::DNS::classesbyname, 'CLASS\\d+');
-
- # Longest ones go first, so the regex engine will match AAAA before A.
- my $types = join('|', sort { length $b <=> length $a } keys %Net::DNS::typesbyname);
-
- $types .= '|TYPE\\d+';
-
- $RR_REGEX = " ^
- \\s*
- (\\S+) # name anything non-space will do
- \\s*
- (\\d+)?
- \\s*
- ($classes)?
- \\s*
- ($types)?
- \\s*
- (.*)
- \$";
-
-# print STDERR "Regex: $RR_REGEX\n";
-}
-
-
-=head2 new (from string)
-
- $a = Net::DNS::RR->new("foo.example.com. 86400 A 10.1.2.3");
- $mx = Net::DNS::RR->new("example.com. 7200 MX 10 mailhost.example.com.");
- $cname = Net::DNS::RR->new("www.example.com 300 IN CNAME www1.example.com");
- $txt = Net::DNS::RR->new('baz.example.com 3600 HS TXT "text record"');
-
-Returns a C<Net::DNS::RR> object of the appropriate type and
-initialized from the string passed by the user. The format of the
-string is that used in zone files, and is compatible with the string
-returned by C<< Net::DNS::RR->string >>.
-
-The name and RR type are required; all other information is optional.
-If omitted, the TTL defaults to 0 and the RR class defaults to IN.
-Omitting the optional fields is useful for creating the empty RDATA
-sections required for certain dynamic update operations. See the
-C<Net::DNS::Update> manual page for additional examples.
-
-All names must be fully qualified. The trailing dot (.) is optional.
-
-=head2 new (from hash)
-
- $rr = Net::DNS::RR->new(
- name => "foo.example.com",
- ttl => 86400,
- class => "IN",
- type => "A",
- address => "10.1.2.3",
- );
-
- $rr = Net::DNS::RR->new(
- name => "foo.example.com",
- type => "A",
- );
-
-Returns an RR object of the appropriate type, or a C<Net::DNS::RR>
-object if the type isn't implemented. See the manual pages for
-each RR type to see what fields the type requires.
-
-The C<Name> and C<Type> fields are required; all others are optional.
-If omitted, C<TTL> defaults to 0 and C<Class> defaults to IN. Omitting
-the optional fields is useful for creating the empty RDATA sections
-required for certain dynamic update operations.
-
-The fields are case-insensitive, but starting each with uppercase
-is recommended.
-
-=cut
-
-#' Stupid Emacs
-
-
-sub new {
- return new_from_string(@_) if @_ == 2;
- return new_from_string(@_) if @_ == 3;
-
- return new_from_hash(@_);
-}
-
-
-sub new_from_data {
- my $class = shift;
- my ($name, $rrtype, $rrclass, $ttl, $rdlength, $data, $offset) = @_;
-
- my $self = { name => $name,
- type => $rrtype,
- class => $rrclass,
- ttl => $ttl,
- rdlength => $rdlength,
- rdata => substr($$data, $offset, $rdlength)
- };
-
- if ($RR{$rrtype}) {
- my $subclass = $class->_get_subclass($rrtype);
- return $subclass->new($self, $data, $offset);
- } else {
- return Net::DNS::RR::Unknown->new($self, $data, $offset);
- }
-
-}
-
-sub new_from_string {
- my ($class, $rrstring, $update_type) = @_;
-
- build_regex() unless $RR_REGEX;
-
- # strip out comments
- # Test for non escaped ";" by means of the look-behind assertion
- # (the backslash is escaped)
- $rrstring =~ s/(?<!\\);.*//og;
-
- ($rrstring =~ m/$RR_REGEX/xso) ||
- confess qq|qInternal Error: "$rrstring" did not match RR pat.\nPlease report this to the author!\n|;
-
- my $name = $1;
- my $ttl = $2 || 0;
- my $rrclass = $3 || '';
-
-
- my $rrtype = $4 || '';
- my $rdata = $5 || '';
-
- $rdata =~ s/\s+$//o if $rdata;
- $name =~ s/\.$//o if $name;
-
-
-
- # RFC3597 tweaks
- # This converts to known class and type if specified as TYPE###
- $rrtype = Net::DNS::typesbyval(Net::DNS::typesbyname($rrtype)) if $rrtype =~ m/^TYPE\d+/o;
- $rrclass = Net::DNS::classesbyval(Net::DNS::classesbyname($rrclass)) if $rrclass =~ m/^CLASS\d+/o;
-
-
- if (!$rrtype && $rrclass && $rrclass eq 'ANY') {
- $rrtype = 'ANY';
- $rrclass = 'IN';
- } elsif (!$rrclass) {
- $rrclass = 'IN';
- }
-
- $rrtype ||= 'ANY';
-
-
- if ($update_type) {
- $update_type = lc $update_type;
-
- if ($update_type eq 'yxrrset') {
- $ttl = 0;
- $rrclass = 'ANY' unless $rdata;
- } elsif ($update_type eq 'nxrrset') {
- $ttl = 0;
- $rrclass = 'NONE';
- $rdata = '';
- } elsif ($update_type eq 'yxdomain') {
- $ttl = 0;
- $rrclass = 'ANY';
- $rrtype = 'ANY';
- $rdata = '';
- } elsif ($update_type eq 'nxdomain') {
- $ttl = 0;
- $rrclass = 'NONE';
- $rrtype = 'ANY';
- $rdata = '';
- } elsif ($update_type =~ /^(rr_)?add$/o) {
- $ttl = 86400 unless $ttl;
- } elsif ($update_type =~ /^(rr_)?del(ete)?$/o) {
- $ttl = 0;
- $rrclass = $rdata ? 'NONE' : 'ANY';
- }
- }
-
- # We used to check if $rrtype was defined at this point. However,
- # we just defaulted it to ANY earlier....
-
- my $self = {
- 'name' => $name,
- 'type' => $rrtype,
- 'class' => $rrclass,
- 'ttl' => $ttl,
- 'rdlength' => 0,
- 'rdata' => '',
- };
-
- if ($RR{$rrtype} && $rdata !~ m/^\s*\\#/o ) {
- my $subclass = $class->_get_subclass($rrtype);
- return $subclass->new_from_string($self, $rdata);
- } elsif ($RR{$rrtype}) { # A RR type known to Net::DNS starting with \#
- $rdata =~ m/\\\#\s+(\d+)\s+(.*)$/o;
-
- my $rdlength = $1;
- my $hexdump = $2;
- $hexdump =~ s/\s*//og;
-
- die "$rdata is inconsistent; length does not match content"
- if length($hexdump) != $rdlength*2;
-
- $rdata = pack('H*', $hexdump);
-
- return Net::DNS::RR->new_from_data(
- $name,
- $rrtype,
- $rrclass,
- $ttl,
- $rdlength,
- \$rdata,
- length($rdata) - $rdlength
- );
- } elsif ($rdata=~/\s*\\\#\s+\d+\s+/o) {
- #We are now dealing with the truly unknown.
- die 'Expected RFC3597 representation of RDATA'
- unless $rdata =~ m/\\\#\s+(\d+)\s+(.*)$/o;
-
- my $rdlength = $1;
- my $hexdump = $2;
- $hexdump =~ s/\s*//og;
-
- die "$rdata is inconsistent; length does not match content"
- if length($hexdump) != $rdlength*2;
-
- $rdata = pack('H*', $hexdump);
-
- return Net::DNS::RR->new_from_data(
- $name,
- $rrtype,
- $rrclass,
- $ttl,
- $rdlength,
- \$rdata,
- length($rdata) - $rdlength
- );
- } else {
- #God knows how to handle these... bless them in the RR class.
- bless $self, $class;
- return $self
- }
-
-}
-
-sub new_from_hash {
- my $class = shift;
- my %keyval = @_;
- my $self = {};
-
- while ( my ($key, $val) = each %keyval ) {
- ( $self->{lc $key} = $val ) =~ s/\.+$// if defined $val;
- }
-
- croak('RR name not specified') unless defined $self->{name};
- croak('RR type not specified') unless defined $self->{type};
-
- $self->{'ttl'} ||= 0;
- $self->{'class'} ||= 'IN';
-
- $self->{'rdlength'} = length $self->{'rdata'}
- if $self->{'rdata'};
-
- if ($RR{$self->{'type'}}) {
- my $subclass = $class->_get_subclass($self->{'type'});
-
- if (uc $self->{'type'} ne 'OPT') {
- bless $self, $subclass;
-
- return $self;
- } else {
- # Special processing of OPT. Since TTL and CLASS are
- # set by other variables. See Net::DNS::RR::OPT
- # documentation
- return $subclass->new_from_hash($self);
- }
- } elsif ($self->{'type'} =~ /TYPE\d+/o) {
- bless $self, 'Net::DNS::RR::Unknown';
- return $self;
- } else {
- bless $self, $class;
- return $self;
- }
-}
-
-
-=head2 parse
-
- ($rrobj, $offset) = Net::DNS::RR->parse(\$data, $offset);
-
-Parses a DNS resource record at the specified location within a DNS packet.
-The first argument is a reference to the packet data.
-The second argument is the offset within the packet where the resource record begins.
-
-Returns a Net::DNS::RR object and the offset of the next location in the packet.
-
-Parsing is aborted if the object could not be created (e.g., corrupt or insufficient data).
-
-=cut
-
-use constant PACKED_LENGTH => length pack 'n2 N n', (0)x4;
-
-sub parse {
- my ($objclass, $data, $offset) = @_;
-
- my ($name, $index) = Net::DNS::Packet::dn_expand($data, $offset);
- die 'Exception: corrupt or incomplete data' unless $index;
-
- my $rdindex = $index + PACKED_LENGTH;
- die 'Exception: incomplete data' if length $$data < $rdindex;
- my ($type, $class, $ttl, $rdlength) = unpack("\@$index n2 N n", $$data);
-
- my $next = $rdindex + $rdlength;
- die 'Exception: incomplete data' if length $$data < $next;
-
- $type = Net::DNS::typesbyval($type) || $type;
-
- # Special case for OPT RR where CLASS should be
- # interpreted as 16 bit unsigned (RFC2671, 4.3)
- if ($type ne 'OPT') {
- $class = Net::DNS::classesbyval($class) || $class;
- }
- # else just retain numerical value
-
- my $self = $objclass->new_from_data($name, $type, $class, $ttl, $rdlength, $data, $rdindex);
- die 'Exception: corrupt or incomplete RR subtype data' unless defined $self;
-
- return wantarray ? ($self, $next) : $self;
-}
-
-
-#
-# Some people have reported that Net::DNS dies because AUTOLOAD picks up
-# calls to DESTROY.
-#
-sub DESTROY {}
-
-=head2 print
-
- $rr->print;
-
-Prints the record to the standard output. Calls the
-B<string> method to get the RR's string representation.
-
-=cut
-#' someone said that emacs gets screwy here. Who am I to claim otherwise...
-
-sub print { print &string, "\n"; }
-
-=head2 string
-
- print $rr->string, "\n";
-
-Returns a string representation of the RR. Calls the
-B<rdatastr> method to get the RR-specific data.
-
-=cut
-
-sub string {
- my $self = shift;
- my $data = $self->rdatastr || '; no data';
-
- join "\t", "$self->{name}.", $self->{ttl}, $self->{class}, $self->{type}, $data;
-}
-
-=head2 rdatastr
-
- $s = $rr->rdatastr;
-
-Returns a string containing RR-specific data. Subclasses will need
-to implement this method.
-
-=cut
-
-sub rdatastr {
- my $self = shift;
- return exists $self->{'rdlength'}
- ? "; rdlength = $self->{'rdlength'}"
- : '';
-}
-
-=head2 name
-
- $name = $rr->name;
-
-Returns the record's domain name.
-
-=head2 type
-
- $type = $rr->type;
-
-Returns the record's type.
-
-=head2 class
-
- $class = $rr->class;
-
-Returns the record's class.
-
-=cut
-
-# Used to AUTOLOAD this, but apparently some versions of Perl (specifically
-# 5.003_07, included with some Linux distributions) would return the
-# class the object was blessed into, instead of the RR's class.
-
-sub class {
- my $self = shift;
-
- if (@_) {
- $self->{'class'} = shift;
- } elsif (!exists $self->{'class'}) {
- Carp::carp('class: no such method');
- return undef;
- }
- return $self->{'class'};
-}
-
-
-=head2 ttl
-
- $ttl = $rr->ttl;
-
-Returns the record's time-to-live (TTL).
-
-=head2 rdlength
-
- $rdlength = $rr->rdlength;
-
-Returns the length of the record's data section.
-
-=head2 rdata
-
- $rdata = $rr->rdata
-
-Returns the record's data section as binary data.
-
-=cut
-#'
-sub rdata {
- my $self = shift;
- my $retval = undef;
-
- if (@_ == 2) {
- my ($packet, $offset) = @_;
- $retval = $self->rr_rdata($packet, $offset);
- }
- elsif (exists $self->{'rdata'}) {
- $retval = $self->{'rdata'};
- }
-
- return $retval;
-}
-
-sub rr_rdata {
- my $self = shift;
- return exists $self->{'rdata'} ? $self->{'rdata'} : '';
-}
-
-#------------------------------------------------------------------------------
-# sub data
-#
-# This method is called by Net::DNS::Packet->data to get the binary
-# representation of an RR.
-#------------------------------------------------------------------------------
-
-sub data {
- my ($self, $packet, $offset) = @_;
- my $data;
-
-
- # Don't compress TSIG or TKEY names and don't mess with EDNS0 packets
- if (uc($self->{'type'}) eq 'TSIG' || uc($self->{'type'}) eq 'TKEY') {
- my $tmp_packet = Net::DNS::Packet->new();
- $data = $tmp_packet->dn_comp($self->{'name'}, 0);
- return undef unless defined $data;
- } elsif (uc($self->{'type'}) eq 'OPT') {
- my $tmp_packet = Net::DNS::Packet->new();
- $data = $tmp_packet->dn_comp('', 0);
- } else {
- $data = $packet->dn_comp($self->{'name'}, $offset);
- return undef unless defined $data;
- }
-
- my $qtype = uc($self->{'type'});
- my $qtype_val = ($qtype =~ m/^\d+$/o) ? $qtype : Net::DNS::typesbyname($qtype);
- $qtype_val = 0 if !defined($qtype_val);
-
- my $qclass = uc($self->{'class'});
- my $qclass_val = ($qclass =~ m/^\d+$/o) ? $qclass : Net::DNS::classesbyname($qclass);
- $qclass_val = 0 if !defined($qclass_val);
- $data .= pack('n', $qtype_val);
-
- # If the type is OPT then class will need to contain a decimal number
- # containing the UDP payload size. (RFC2671 section 4.3)
- if (uc($self->{'type'}) ne 'OPT') {
- $data .= pack('n', $qclass_val);
- } else {
- $data .= pack('n', $self->{'class'});
- }
-
- $data .= pack('N', $self->{'ttl'});
-
- $offset += length($data) + &Net::DNS::INT16SZ; # allow for rdlength
-
- my $rdata = $self->rdata($packet, $offset);
-
- $data .= pack('n', length $rdata);
- $data.=$rdata;
-
- return $data;
-}
-
-
-
-
-
-#------------------------------------------------------------------------------
-# This method is called by SIG objects verify method.
-# It is almost the same as data but needed to get an representation of the
-# packets in wire format withoud domain name compression.
-# It is essential to DNSSEC RFC 2535 section 8
-#------------------------------------------------------------------------------
-
-sub _canonicaldata {
- my $self = shift;
- my $data='';
- {
- my $name=$self->{'name'};
- my @dname=Net::DNS::name2labels($name);
- for (my $i=0;$i<@dname;$i++){
- $data .= pack ('C',length $dname[$i] );
- $data .= lc($dname[$i] );
- }
- $data .= pack ('C','0');
- }
- $data .= pack('n', Net::DNS::typesbyname(uc($self->{'type'})));
- $data .= pack('n', Net::DNS::classesbyname(uc($self->{'class'})));
- $data .= pack('N', $self->{'ttl'});
-
-
- my $rdata = $self->_canonicalRdata;
-
- $data .= pack('n', length $rdata);
- $data .= $rdata;
- return $data;
-
-
-}
-
-# These are methods that are used in the DNSSEC context... Some RR
-# have domain names in them. Verification works only on RRs with
-# uncompressed domain names. (Canonical format as in sect 8 of
-# RFC2535) _canonicalRdata is overwritten in those RR objects that
-# have domain names in the RDATA and _name2wire is used to convert a
-# domain name to "wire format"
-
-
-sub _canonicalRdata {
- my $self=shift;
- my $packet=Net::DNS::Packet->new();
- my $rdata = $self->rr_rdata($packet,0);
- return $rdata;
-}
-
-
-
-
-
-sub _name2wire {
- my ($self, $name) = @_;
-
- my $rdata="";
- my $compname = "";
- my @dname = Net::DNS::name2labels($name);
-
-
- for (@dname) {
- $rdata .= pack('C', length $_);
- $rdata .= $_ ;
- }
-
- $rdata .= pack('C', '0');
- return $rdata;
-}
-
-
-
-
-
-sub AUTOLOAD {
- my ($self) = @_; # If we do shift here, it will mess up the goto below.
- my ($name) = $AUTOLOAD =~ m/^.*::(.*)$/o;
- if ($name =~ /set_rrsort_func/){
- return Net::DNS::RR::set_rrsort_func(@_);
- }
- if ($name =~ /get_rrsort_func/){
- return Net::DNS::RR::get_rrsort_func(@_);
- }
- # XXX -- We should test that we do in fact carp on unknown methods.
- unless (exists $self->{$name}) {
- my $rr_string = $self->string;
- Carp::carp(<<"AMEN");
-
-***
-*** WARNING!!! The program has attempted to call the method
-*** "$name" for the following RR object:
-***
-*** $rr_string
-***
-*** This object does not have a method "$name". THIS IS A BUG
-*** IN THE CALLING SOFTWARE, which has incorrectly assumed that
-*** the object would be of a particular type. The calling
-*** software should check the type of each RR object before
-*** calling any of its methods.
-***
-*** Net::DNS has returned undef to the caller.
-***
-
-AMEN
-return;
- }
-
- no strict q/refs/;
-
- # Build a method in the class.
- *{$AUTOLOAD} = sub {
- my ($self, $new_val) = @_;
-
- if (defined $new_val) {
- $self->{$name} = $new_val;
- }
-
- return $self->{$name};
- };
-
- # And jump over to it.
- goto &{$AUTOLOAD};
-}
-
-
-
-#
-# Net::DNS::RR->_get_subclass($type)
-#
-# Return a subclass, after loading a subclass (if needed)
-#
-sub _get_subclass {
- my ($class, $type) = @_;
-
- return unless $type and $RR{$type};
-
- my $subclass = join('::', $class, $type);
-
- unless ($_LOADED{$subclass}) {
- eval "require $subclass";
- die $@ if $@;
- $_LOADED{$subclass}++;
- }
-
- return $subclass;
-}
-
-
-
-
-=head1 Sorting of RR arrays
-
-As of version 0.55 there is functionality to help you sort RR
-arrays. The sorting is done by Net::DNS::rrsort(), see the
-L<Net::DNS> documentation. This package provides class methods to set
-the sorting functions used for a particular RR based on a particular
-attribute.
-
-
-=head2 set_rrsort_func
-
-Net::DNS::RR::SRV->set_rrsort_func("priority",
- sub {
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- $a->priority <=> $b->priority
- ||
- $b->weight <=> $a->weight
- }
-
-Net::DNS::RR::SRV->set_rrsort_func("default_sort",
- sub {
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- $a->priority <=> $b->priority
- ||
- $b->weight <=> $a->weight
- }
-
-set_rrsort_func needs to be called as a class method. The first
-argument is the attribute name on which the sorting will need to take
-place. If you specify "default_sort" than that is the sort algorithm
-that will be used in the case that rrsort() is called without an RR
-attribute as argument.
-
-The second argument is a reference to a function that uses the
-variables $a and $b global to the C<from Net::DNS>(!!)package for the
-sorting. During the sorting $a and $b will contain references to
-objects from the class you called the set_prop_sort from. In other
-words, you can rest assured that the above sorting function will only
-get Net::DNS::RR::SRV objects.
-
-The above example is the sorting function that actually is implemented in
-SRV.
-
-=cut
-
-
-
-
-sub set_rrsort_func{
- my $class=shift;
- my $attribute=shift;
- my $funct=shift;
-# print "Using ".__PACKAGE__."set_rrsort: $class\n";
- my ($type) = $class =~ m/^.*::(.*)$/o;
- $Net::DNS::RR::rrsortfunct{$type}{$attribute}=$funct;
-}
-
-sub get_rrsort_func {
- my $class=shift;
- my $attribute=shift; #can be undefined.
- my $sortsub;
- my ($type) = $class =~ m/^.*::(.*)$/o;
-
-
-# print "Using ".__PACKAGE__." get_rrsort: $class ($type,$attribute)\n";
-# use Data::Dumper;
-# print Dumper %Net::DNS::rrsortfunct;
-
- if (defined($attribute) &&
- exists($Net::DNS::RR::rrsortfunct{$type}) &&
- exists($Net::DNS::RR::rrsortfunct{$type}{$attribute})
- ){
- # The default overwritten by the class variable in Net::DNS
- return $Net::DNS::RR::rrsortfunct{$type}{$attribute};
- }elsif(
- ! defined($attribute) &&
- exists($Net::DNS::RR::rrsortfunct{$type}) &&
- exists($Net::DNS::RR::rrsortfunct{$type}{'default_sort'})
- ){
- # The default overwritten by the class variable in Net::DNS
- return $Net::DNS::RR::rrsortfunct{$type}{'default_sort'};
- }
- elsif( defined($attribute) ){
-
- return sub{
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- ( exists($a->{$attribute}) &&
- $a->{$attribute} <=> $b->{$attribute})
- ||
- $a->_canonicaldata() cmp $b->_canonicaldata()
- };
- }else{
- return sub{
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- $a->_canonicaldata() cmp $b->_canonicaldata()
- };
- }
-
- return $sortsub;
-}
-
-
-
-
-
-
-
-sub STORABLE_freeze {
- my ($self, $cloning) = @_;
-
- return if $cloning;
-
- return ('', {%$self});
-}
-
-sub STORABLE_thaw {
- my ($self, $cloning, undef, $data) = @_;
-
- %{$self} = %{$data};
-
- __PACKAGE__->_get_subclass($self->{'type'});
-
- return $self;
-}
-
-=head1 BUGS
-
-This version of C<Net::DNS::RR> does little sanity checking on user-created
-RR objects.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-Portions Copyright (c) 2005-2007 Olaf Kolkman
-
-Portions Copyright (c) 2007 Dick Franks
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-EDNS0 extensions by Olaf Kolkman.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Update>, L<Net::DNS::Header>, L<Net::DNS::Question>,
-RFC 1035 Section 4.1.3
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/A.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/A.pm
deleted file mode 100644
index 0ff7be36f75..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/A.pm
+++ /dev/null
@@ -1,95 +0,0 @@
-package Net::DNS::RR::A;
-#
-# $Id: A.pm 546 2005-12-16 15:23:03Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-
-
-use vars qw(@ISA $VERSION);
-
-use Socket;
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 546 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- $self->{"address"} = inet_ntoa(substr($$data, $offset, 4));
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && ($string =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)\s*$/o)
- && ($1 >= 0) && ($1 <= 255)
- && ($2 >= 0) && ($2 <= 255)
- && ($3 >= 0) && ($3 <= 255)
- && ($4 >= 0) && ($4 <= 255) ) {
-
- $self->{"address"} = "$1.$2.$3.$4";
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"address"} || '';
-}
-
-sub rr_rdata {
- my $self = shift;
-
- return exists $self->{"address"}
- ? inet_aton($self->{"address"})
- : "";
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::A - DNS A resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Address (A) resource records.
-
-=head1 METHODS
-
-=head2 address
-
- print "address = ", $rr->address, "\n";
-
-Returns the RR's address field.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.4.1
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AAAA.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AAAA.pm
deleted file mode 100644
index f8c6a212465..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AAAA.pm
+++ /dev/null
@@ -1,124 +0,0 @@
-package Net::DNS::RR::AAAA;
-#
-# $Id: AAAA.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- my @addr = unpack("\@$offset n8", $$data);
- $self->{"address"} = sprintf("%x:%x:%x:%x:%x:%x:%x:%x", @addr);
- }
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- my @addr;
-
- # I think this is correct, per RFC 1884 Sections 2.2 & 2.4.4.
- if ($string =~ /^(.*):(\d+)\.(\d+)\.(\d+)\.(\d+)$/) {
- my ($front, $a, $b, $c, $d) = ($1, $2, $3, $4, $5);
- $string = $front . sprintf(":%x:%x",
- ($a << 8 | $b),
- ($c << 8 | $d));
- }
-
- if ($string =~ /^(.*)::(.*)$/) {
- my ($front, $back) = ($1, $2);
- my @front = split(/:/, $front);
- my @back = split(/:/, $back);
- my $fill = 8 - (@front ? $#front + 1 : 0)
- - (@back ? $#back + 1 : 0);
- my @middle = (0) x $fill;
- @addr = (@front, @middle, @back);
- }
- else {
- @addr = split(/:/, $string);
- if (@addr < 8) {
- @addr = ((0) x (8 - @addr), @addr);
- }
- }
-
- $self->{"address"} = sprintf("%x:%x:%x:%x:%x:%x:%x:%x",
- map { hex $_ } @addr);
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"address"} || '';
-}
-
-sub rr_rdata {
- my $self = shift;
- my $rdata = "";
-
- if (exists $self->{"address"}) {
- my @addr = split(/:/, $self->{"address"});
- $rdata .= pack("n8", map { hex $_ } @addr);
- }
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::AAAA - DNS AAAA resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS IPv6 Address (AAAA) resource records.
-
-=head1 METHODS
-
-=head2 address
-
- print "address = ", $rr->address, "\n";
-
-Returns the RR's address field.
-
-=head1 BUGS
-
-The C<string> method returns only the preferred method of address
-representation ("x:x:x:x:x:x:x:x", as documented in RFC 1884,
-Section 2.2, Para 1).
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1886 Section 2, RFC 1884 Sections 2.2 & 2.4.4
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AFSDB.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AFSDB.pm
deleted file mode 100644
index 8b941adbfff..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AFSDB.pm
+++ /dev/null
@@ -1,122 +0,0 @@
-package Net::DNS::RR::AFSDB;
-#
-# $Id: AFSDB.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-
-BEGIN {
- eval { require bytes; }
-}
-
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- my ($subtype) = unpack("\@$offset n", $$data);
- $offset += Net::DNS::INT16SZ();
- my($hostname) = Net::DNS::Packet::dn_expand($data, $offset);
- $self->{"subtype"} = $subtype;
- $self->{"hostname"} = $hostname;
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && ($string =~ /^(\d+)\s+(\S+)$/)) {
- $self->{"subtype"} = $1;
- $self->{"hostname"} = $2;
- $self->{"hostname"} =~ s/\.+$//;;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return exists $self->{"subtype"}
- ? "$self->{subtype} $self->{hostname}."
- : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"subtype"}) {
- $rdata .= pack("n", $self->{"subtype"});
- $rdata .= $packet->dn_comp($self->{"hostname"},
- $offset + length $rdata);
- }
-
- return $rdata;
-}
-
-
-
-sub _canonicalRdata {
- # rdata contains a compressed domainname... we should not have that.
- my ($self) = @_;
- my $rdata;
- if (exists $self->{"subtype"}) {
- $rdata .= pack("n", $self->{"subtype"});
- $rdata .= $self->_name2wire(lc($self->{"hostname"}));
- }
- return $rdata;
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::AFSDB - DNS AFSDB resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS AFS Data Base (AFSDB) resource records.
-
-=head1 METHODS
-
-=head2 subtype
-
- print "subtype = ", $rr->subtype, "\n";
-
-Returns the RR's subtype field. Use of the subtype field is documented
-in RFC 1183.
-
-=head2 hostname
-
- print "hostname = ", $rr->hostname, "\n";
-
-Returns the RR's hostname field. See RFC 1183.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1183 Section 1
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CERT.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CERT.pm
deleted file mode 100644
index 011d7871474..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CERT.pm
+++ /dev/null
@@ -1,178 +0,0 @@
-package Net::DNS::RR::CERT;
-#
-# $Id: CERT.pm 388 2005-06-22 10:06:05Z olaf $
-#
-# Written by Mike Schiraldi <raldi@research.netsol.com> for VeriSign
-
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-use MIME::Base64;
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-my %formats = (
- PKIX => 1,
- SPKI => 2,
- PGP => 3,
- URI => 253,
- OID => 254,
-);
-
-my %r_formats = reverse %formats;
-
-my %algorithms = (
- RSAMD5 => 1,
- DH => 2,
- DSA => 3,
- ECC => 4,
- INDIRECT => 252,
- PRIVATEDNS => 253,
- PRIVATEOID => 254,
-);
-
-my %r_algorithms = reverse %algorithms;
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- my ($format, $tag, $algorithm) = unpack("\@$offset n2C", $$data);
-
- $offset += 2 * Net::DNS::INT16SZ() + 1;
-
- my $length = $self->{"rdlength"} - (2 * Net::DNS::INT16SZ() + 1);
- my $certificate = substr($$data, $offset, $length);
-
- $self->{"format"} = $format;
- $self->{"tag"} = $tag;
- $self->{"algorithm"} = $algorithm;
- $self->{"certificate"} = $certificate;
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- $string or return bless $self, $class;
-
- my ($format, $tag, $algorithm, @rest) = split " ", $string;
- @rest or return bless $self, $class;
-
- # look up mnemonics
- # the "die"s may be rash, but proceeding would be dangerous
- if ($algorithm =~ /\D/) {
- $algorithm = $algorithms{$algorithm} || die "Unknown algorithm mnemonic: '$algorithm'";
- }
-
- if ($format =~ /\D/) {
- $format = $formats{$format} || die "Unknown format mnemonic: '$format'";
- }
-
- $self->{"format"} = $format;
- $self->{"tag"} = $tag;
- $self->{"algorithm"} = $algorithm;
- $self->{"certificate"} = MIME::Base64::decode(join('', @rest));
-
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
- my $rdatastr;
-
- if (exists $self->{"format"}) {
- my $cert = MIME::Base64::encode $self->{certificate};
- $cert =~ s/\n//g;
-
- my $format = defined $r_formats{$self->{"format"}}
- ? $r_formats{$self->{"format"}} : $self->{"format"};
-
- my $algorithm = defined $r_algorithms{$self->{algorithm}}
- ? $r_algorithms{$self->{algorithm}} : $self->{algorithm};
-
- $rdatastr = "$format $self->{tag} $algorithm $cert";
- } else {
- $rdatastr = '';
- }
-
- return $rdatastr;
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
-
- my $rdata = "";
-
- if (exists $self->{"format"}) {
- $rdata .= pack("n2", $self->{"format"}, $self->{tag});
- $rdata .= pack("C", $self->{algorithm});
- $rdata .= $self->{certificate};
- }
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::CERT - DNS CERT resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Certificate (CERT) resource records. (see RFC 2538)
-
-=head1 METHODS
-
-=head2 format
-
- print "format = ", $rr->format, "\n";
-
-Returns the format code for the certificate (in numeric form)
-
-=head2 tag
-
- print "tag = ", $rr->tag, "\n";
-
-Returns the key tag for the public key in the certificate
-
-=head2 algorithm
-
- print "algorithm = ", $rr->algorithm, "\n";
-
-Returns the algorithm used by the certificate (in numeric form)
-
-=head2 certificate
-
- print "certificate = ", $rr->certificate, "\n";
-
-Returns the data comprising the certificate itself (in raw binary form)
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 2782
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CNAME.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CNAME.pm
deleted file mode 100644
index d74a816beb1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CNAME.pm
+++ /dev/null
@@ -1,97 +0,0 @@
-package Net::DNS::RR::CNAME;
-#
-# $Id: CNAME.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"cname"}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- $string =~ s/\.+$//;
- $self->{"cname"} = $string;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"cname"} ? "$self->{cname}." : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"cname"}) {
- $rdata = $packet->dn_comp($self->{"cname"}, $offset);
- }
-
- return $rdata;
-}
-
-# rdata contains a compressed domainname... we should not have that.
-sub _canonicalRdata {
- my ($self) = @_;
- return $self->_name2wire(lc($self->{"cname"}));
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::CNAME - DNS CNAME resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Canonical Name (CNAME) resource records.
-
-=head1 METHODS
-
-=head2 cname
-
- print "cname = ", $rr->cname, "\n";
-
-Returns the RR's canonical name.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.1
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/DNAME.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/DNAME.pm
deleted file mode 100644
index c64eea25d14..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/DNAME.pm
+++ /dev/null
@@ -1,90 +0,0 @@
-package Net::DNS::RR::DNAME;
-#
-# $Id: DNAME.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"dname"}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- $string =~ s/\.+$//;
- $self->{"dname"} = $string;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"dname"} ? "$self->{dname}." : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"dname"}) {
- $rdata = $packet->dn_comp($self->{"dname"}, $offset);
- }
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::DNAME - DNS DNAME resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Non-Terminal Name Redirection (DNAME) resource records.
-
-=head1 METHODS
-
-=head2 dname
-
- print "dname = ", $rr->dname, "\n";
-
-Returns the DNAME target.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 2672
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/EID.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/EID.pm
deleted file mode 100644
index f46f584ecb5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/EID.pm
+++ /dev/null
@@ -1,63 +0,0 @@
-package Net::DNS::RR::EID;
-#
-# $Id: EID.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
- return bless $self, $class;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::EID - DNS EID resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Endpoint Identifier (EID) resource records.
-
-=head1 METHODS
-
-=head2 rdlength
-
- print "rdlength = ", $rr->rdlength, "\n";
-
-Returns the length of the record's data section.
-
-=head2 rdata
-
- $rdata = $rr->rdata;
-
-Returns the record's data section as binary data.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-draft-ietf-nimrod-dns-I<xx>.txt
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/HINFO.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/HINFO.pm
deleted file mode 100644
index b062a4371be..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/HINFO.pm
+++ /dev/null
@@ -1,125 +0,0 @@
-package Net::DNS::RR::HINFO;
-#
-# $Id: HINFO.pm 639 2007-05-25 12:00:15Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-use Net::DNS::RR::TXT;
-
-@ISA = qw(Net::DNS::RR Net::DNS::RR::TXT);
-$VERSION = (qw$LastChangedRevision: 639 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- my ($cpu, $os, $len);
-
- ($len) = unpack("\@$offset C", $$data);
- ++$offset;
- $cpu = substr($$data, $offset, $len);
- $offset += $len;
-
- ($len) = unpack("\@$offset C", $$data);
- ++$offset;
- $os = substr($$data, $offset, $len);
- $offset += $len;
-
- $self->{"cpu"} = $cpu;
- $self->{"os"} = $os;
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ( $class, $self, $rdata_string ) = @_ ;
-
- bless $self, $class;
-
- $self->_build_char_str_list($rdata_string);
- my @elements= $self->char_str_list();
- if (@elements==2){
-
-
- $self->{"cpu"} = $elements[0];
- $self->{"os"} = $elements[1];
- }else{
- return;
- }
-
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"cpu"}
- ? qq("$self->{cpu}" "$self->{os}")
- : '';
-}
-
-sub rr_rdata {
- my $self = shift;
- my $rdata = "";
-
- if (exists $self->{"cpu"}) {
- $rdata .= pack("C", length $self->{"cpu"});
- $rdata .= $self->{"cpu"};
-
- $rdata .= pack("C", length $self->{"os"});
- $rdata .= $self->{"os"};
- }
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::HINFO - DNS HINFO resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Host Information (HINFO) resource records.
-
-=head1 METHODS
-
-=head2 cpu
-
- print "cpu = ", $rr->cpu, "\n";
-
-Returns the CPU type for this RR.
-
-=head2 os
-
- print "os = ", $rr->os, "\n";
-
-Returns the operating system type for this RR.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-Portions Copyright (c) 2002-2004 Chris Reinhardt
-Portions Copyright (c) 2007 NLnet Labs
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.2
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/IPSECKEY.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/IPSECKEY.pm
deleted file mode 100644
index dff03952617..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/IPSECKEY.pm
+++ /dev/null
@@ -1,237 +0,0 @@
-package Net::DNS::RR::IPSECKEY;
-
-
-#
-# $Id: IPSECKEY.pm 654 2007-06-20 15:02:50Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION );
-use Socket;
-
-use MIME::Base64;
-
-$VERSION = (qw$LastChangedRevision: 654 $)[1];
-
-@ISA = qw(Net::DNS::RR);
-
-
-#my %gatetype = (
-# 0 => "No gateway is present.",
-# 1 => "A 4-byte IPv4 address is present.",
-# 2 => "A 16-byte IPv6 address is present.",
-# 3 => "A wire-encoded domain name is present.",
-# );
-
-#my %algtype = (
-# RSA => 1,
-# DSA => 2,
-#);
-
-#my %fingerprinttype = (
-# 'SHA-1' => 1,
-#);
-
-#my %fingerprinttypebyval = reverse %fingerprinttype;
-#my %gatetypebyval= reverse %gatetype;
-#my %algtypebyval = reverse %algtype;
-
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- my $offsettoprec = $offset;
- my $offsettogatetype = $offset+1;
- my $offsettoalgor = $offset+2;
- my $offsettogateway = $offset+3;
- my $offsettopubkey;
-
- $self->{'precedence'} = unpack('C', substr($$data, $offsettoprec, 1));
- $self->{'gatetype'} = unpack('C', substr($$data, $offsettogatetype, 1));
- $self->{'algorithm'} = unpack('C', substr($$data, $offsettoalgor, 1));
-
- if ($self->{'gatetype'}==0){
- $self->{'gateway'}='.';
- $offsettopubkey= $offsettogateway;
- }elsif($self->{'gatetype'}==1){
- $self->{'gateway'} = inet_ntoa(substr($$data, $offsettogateway, 4));
- $offsettopubkey= $offsettogateway+4;
- }elsif($self->{'gatetype'}==2){
- $offsettopubkey= $offsettogateway+16;
- my @addr = unpack("\@$offsettogateway n8", $$data);
- $self->{'gateway'} = sprintf("%x:%x:%x:%x:%x:%x:%x:%x", @addr);
- }elsif($self->{'gatetype'}==3){
- ($self->{'gateway'}, $offsettopubkey) = Net::DNS::Packet::dn_expand($data, $offsettogateway);
-
- }else{
- die "Could not parse packet, no known gateway type (".$self->{'gatetype'}.")";
- }
- my($pubmaterial)=substr($$data, $offsettopubkey,
- ($self->{"rdlength"}-$offsettopubkey+$offset));
-
- $self->{"pubbin"}=$pubmaterial;
-
- return bless $self, $class;
-}
-
-
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
- if ($string && ($string =~ /^(\d+)\s+(\d)\s+(\d)\s+(\S+)\s+(\S+)$/)) {
- $self->{"precedence"} = $1;
- $self->{"gatetype"} = $2;
- $self->{"algorithm"} = $3;
- if ($self->{"gatetype"}==2){
- # Using the AAAA.pm parsing functionality.
- my $AAAA=Net::DNS::RR->new("FOO AAAA ".$4);
- $self->{"gateway"}=$AAAA->rdatastr;
- }else
- {
- $self->{"gateway"}= $4;
- }
- $self->{"pubkey"}= $5;
- }
-
-
- return bless $self, $class;
-}
-
-
-sub pubkey {
- my $self=shift;
-
- $self->{"pubkey"}= encode_base64($self->{"pubbin"},"") unless defined $self->{"pubkey"};
-
- return $self->{"pubkey"};
-}
-
-
-sub pubbin {
- my $self=shift;
- $self->{"pubbin"}= decode_base64($self->{"pubkey"}) unless defined $self->{"pubbin"};
-
- return $self->{"pubbin"};
-}
-
-
-sub rdatastr {
- my $self = shift;
- my $rdatastr = '';
- return "" unless defined $self->{precedence};
- $rdatastr .= $self->{"precedence"} . " ". $self->{"gatetype"} . " " .
- $self->{"algorithm"}. " ";
- if ($self->{"gatetype"}==0){
- $rdatastr .= ". ";
- }else{
- $rdatastr .= $self->{"gateway"}. " ";
- }
- $rdatastr .= $self->pubkey();
-
- return $rdatastr;
-}
-
-sub rr_rdata {
- my $self = shift;
- my $rdata = "";
- if (exists $self->{"precedence"}) {
- $rdata .= pack("C", $self->{"precedence"});
- $rdata .= pack("C", $self->{"gatetype"});
- $rdata .= pack("C", $self->{"algorithm"});
- if ($self->{"gatetype"}==1 ){
- $rdata .= inet_aton($self->{"gateway"});
- }elsif($self->{"gatetype"}==2){
- my @addr = split(/:/, $self->{"gateway"});
- $rdata .= pack("n8", map { hex $_ } @addr);
- }elsif($self->{"gatetype"}==3){
- # No Compression _name2wire will do.
- $rdata .= $self->_name2wire($self->{"gateway"});
- }
- $rdata .= $self->pubbin();
- }
-
- return $rdata;
-
-}
-
-
-
-
-
-1;
-
-
-=head1 NAME
-
-Net::DNS::RR::IPSECKEY - DNS IPSECKEY resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-CLASS for the IPSECKEY RR.
-
-=head1 METHODS
-
-In addition to the regular methods
-
-
-=head2 algorithm
-
-Returns the RR's algorithm field in decimal representation
-
- 1 = RSA
- 2 = DSA
-
-=head2 precedence
-
-Returns the presedence
-
-=head2 gatetype
-
-Returns the gatetype.
-
- 0 "No gateway is present.",
- 1 "A 4-byte IPv4 address is present.",
- 2 "A 16-byte IPv6 address is present.",
- 3 "A wire-encoded domain name is present.",
-
-=head2 gateway
-
-Returns the gateway in the relevant string notation.
-
-=head2 pubkey
-
-Returns the public key in base64 notation
-
-=head2 pubbin
-
-Returns the binary public key material in a string.
-
-=head1 TODO
-
-Check on validity of algorithm and gatetype.
-
-=head1 COPYRIGHT
-
-Copyright (c) 2007 NLnet LAbs, Olaf Kolkman.
-
-"All rights reserved, This program is free software; you may redistribute it
-and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-draft-ietf-dnssext-delegation-signer
-
-=cut
-
-
-
-
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/ISDN.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/ISDN.pm
deleted file mode 100644
index 117e178b43b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/ISDN.pm
+++ /dev/null
@@ -1,129 +0,0 @@
-package Net::DNS::RR::ISDN;
-#
-# $Id: ISDN.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- my ($address, $sa, $len);
-
- ($len) = unpack("\@$offset C", $$data);
- ++$offset;
- $address = substr($$data, $offset, $len);
- $offset += $len;
-
- if ($len + 1 < $self->{"rdlength"}) {
- ($len) = unpack("\@$offset C", $$data);
- ++$offset;
- $sa = substr($$data, $offset, $len);
- $offset += $len;
- }
- else {
- $sa = "";
- }
-
- $self->{"address"} = $address;
- $self->{"sa"} = $sa;
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && $string =~ /^['"](.*?)['"](.*)/s) {
- $self->{"address"} = $1;
- my $rest = $2;
-
- if ($rest =~ /^\s+['"](.*?)['"]$/) {
- $self->{"sa"} = $1;
- }
- else {
- $self->{"sa"} = "";
- }
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"address"}
- ? qq("$self->{address}" "$self->{sa}")
- : '';
-}
-
-sub rr_rdata {
- my $self = shift;
- my $rdata = "";
-
- if (exists $self->{"address"}) {
- $rdata .= pack("C", length $self->{"address"});
- $rdata .= $self->{"address"};
-
- if ($self->{"sa"}) {
- $rdata .= pack("C", length $self->{"sa"});
- $rdata .= $self->{"sa"};
- }
- }
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::ISDN - DNS ISDN resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS ISDN resource records.
-
-=head1 METHODS
-
-=head2 address
-
- print "address = ", $rr->address, "\n";
-
-Returns the RR's address field.
-
-=head2 sa
-
- print "subaddress = ", $rr->sa, "\n";
-
-Returns the RR's subaddress field.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1183 Section 3.2
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/LOC.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/LOC.pm
deleted file mode 100644
index 61b84f5f1f5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/LOC.pm
+++ /dev/null
@@ -1,363 +0,0 @@
-package Net::DNS::RR::LOC;
-#
-# $Id: LOC.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(
- @ISA $VERSION @poweroften $reference_alt
- $reference_latlon $conv_sec $conv_min $conv_deg
- $default_min $default_sec $default_size
- $default_horiz_pre $default_vert_pre
-);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-# Powers of 10 from 0 to 9 (used to speed up calculations).
-@poweroften = (1, 10, 100, 1_000, 10_000, 100_000, 1_000_000,
- 10_000_000, 100_000_000, 1_000_000_000);
-
-# Reference altitude in centimeters (see RFC 1876).
-$reference_alt = 100_000 * 100;
-
-# Reference lat/lon (see RFC 1876).
-$reference_latlon = 2**31;
-
-# Conversions to/from thousandths of a degree.
-$conv_sec = 1000;
-$conv_min = 60 * $conv_sec;
-$conv_deg = 60 * $conv_min;
-
-# Defaults (from RFC 1876, Section 3).
-$default_min = 0;
-$default_sec = 0;
-$default_size = 1;
-$default_horiz_pre = 10_000;
-$default_vert_pre = 10;
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- my ($version) = unpack("\@$offset C", $$data);
- ++$offset;
-
- $self->{"version"} = $version;
-
- if ($version == 0) {
- my ($size) = unpack("\@$offset C", $$data);
- $size = precsize_ntoval($size);
- ++$offset;
-
- my ($horiz_pre) = unpack("\@$offset C", $$data);
- $horiz_pre = precsize_ntoval($horiz_pre);
- ++$offset;
-
- my ($vert_pre) = unpack("\@$offset C", $$data);
- $vert_pre = precsize_ntoval($vert_pre);
- ++$offset;
-
- my ($latitude) = unpack("\@$offset N", $$data);
- $offset += Net::DNS::INT32SZ();
-
- my ($longitude) = unpack("\@$offset N", $$data);
- $offset += Net::DNS::INT32SZ();
-
- my ($altitude) = unpack("\@$offset N", $$data);
- $offset += Net::DNS::INT32SZ();
-
- $self->{"size"} = $size;
- $self->{"horiz_pre"} = $horiz_pre;
- $self->{"vert_pre"} = $vert_pre;
- $self->{"latitude"} = $latitude;
- $self->{"longitude"} = $longitude;
- $self->{"altitude"} = $altitude;
- }
- else {
- # What to do for unsupported versions?
- }
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string &&
- $string =~ /^ (\d+) \s+ # deg lat
- ((\d+) \s+)? # min lat
- (([\d.]+) \s+)? # sec lat
- (N|S) \s+ # hem lat
- (\d+) \s+ # deg lon
- ((\d+) \s+)? # min lon
- (([\d.]+) \s+)? # sec lon
- (E|W) \s+ # hem lon
- (-?[\d.]+) m? # altitude
- (\s+ ([\d.]+) m?)? # size
- (\s+ ([\d.]+) m?)? # horiz precision
- (\s+ ([\d.]+) m?)? # vert precision
- /ix) {
-
- # What to do for other versions?
- my $version = 0;
-
- my ($latdeg, $latmin, $latsec, $lathem) = ($1, $3, $5, $6);
- my ($londeg, $lonmin, $lonsec, $lonhem) = ($7, $9, $11, $12);
- my ($alt, $size, $horiz_pre, $vert_pre) = ($13, $15, $17, $19);
-
- $latmin = $default_min unless $latmin;
- $latsec = $default_sec unless $latsec;
- $lathem = uc($lathem);
-
- $lonmin = $default_min unless $lonmin;
- $lonsec = $default_sec unless $lonsec;
- $lonhem = uc($lonhem);
-
- $size = $default_size unless $size;
- $horiz_pre = $default_horiz_pre unless $horiz_pre;
- $vert_pre = $default_vert_pre unless $vert_pre;
-
- $self->{"version"} = $version;
- $self->{"size"} = $size * 100;
- $self->{"horiz_pre"} = $horiz_pre * 100;
- $self->{"vert_pre"} = $vert_pre * 100;
- $self->{"latitude"} = dms2latlon($latdeg, $latmin, $latsec,
- $lathem);
- $self->{"longitude"} = dms2latlon($londeg, $lonmin, $lonsec,
- $lonhem);
- $self->{"altitude"} = $alt * 100 + $reference_alt;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
- my $rdatastr;
-
- if (exists $self->{"version"}) {
- if ($self->{"version"} == 0) {
- my $lat = $self->{"latitude"};
- my $lon = $self->{"longitude"};
- my $altitude = $self->{"altitude"};
- my $size = $self->{"size"};
- my $horiz_pre = $self->{"horiz_pre"};
- my $vert_pre = $self->{"vert_pre"};
-
- $altitude = ($altitude - $reference_alt) / 100;
- $size /= 100;
- $horiz_pre /= 100;
- $vert_pre /= 100;
-
- $rdatastr = latlon2dms($lat, "NS") . " " .
- latlon2dms($lon, "EW") . " " .
- sprintf("%.2fm", $altitude) . " " .
- sprintf("%.2fm", $size) . " " .
- sprintf("%.2fm", $horiz_pre) . " " .
- sprintf("%.2fm", $vert_pre);
- } else {
- $rdatastr = "; version " . $self->{"version"} . " not supported";
- }
- } else {
- $rdatastr = '';
- }
-
- return $rdatastr;
-}
-
-sub rr_rdata {
- my $self = shift;
- my $rdata = "";
-
- if (exists $self->{"version"}) {
- $rdata .= pack("C", $self->{"version"});
- if ($self->{"version"} == 0) {
- $rdata .= pack("C3", precsize_valton($self->{"size"}),
- precsize_valton($self->{"horiz_pre"}),
- precsize_valton($self->{"vert_pre"}));
- $rdata .= pack("N3", $self->{"latitude"},
- $self->{"longitude"},
- $self->{"altitude"});
- }
- else {
- # What to do for other versions?
- }
- }
-
- return $rdata;
-}
-
-sub precsize_ntoval {
- my $prec = shift;
-
- my $mantissa = (($prec >> 4) & 0x0f) % 10;
- my $exponent = ($prec & 0x0f) % 10;
- return $mantissa * $poweroften[$exponent];
-}
-
-sub precsize_valton {
- my $val = shift;
-
- my $exponent = 0;
- while ($val >= 10) {
- $val /= 10;
- ++$exponent;
- }
- return (int($val) << 4) | ($exponent & 0x0f);
-}
-
-sub latlon2dms {
- my ($rawmsec, $hems) = @_;
-
- # Tried to use modulus here, but Perl dumped core if
- # the value was >= 2**31.
-
- my ($abs, $deg, $min, $sec, $msec, $hem);
-
- $abs = abs($rawmsec - $reference_latlon);
- $deg = int($abs / $conv_deg);
- $abs -= $deg * $conv_deg;
- $min = int($abs / $conv_min);
- $abs -= $min * $conv_min;
- $sec = int($abs / $conv_sec);
- $abs -= $sec * $conv_sec;
- $msec = $abs;
-
- $hem = substr($hems, ($rawmsec >= $reference_latlon ? 0 : 1), 1);
-
- return sprintf("%d %02d %02d.%03d %s", $deg, $min, $sec, $msec, $hem);
-}
-
-sub dms2latlon {
- my ($deg, $min, $sec, $hem) = @_;
- my ($retval);
-
- $retval = ($deg * $conv_deg) + ($min * $conv_min) + ($sec * $conv_sec);
- $retval = -$retval if ($hem eq "S") || ($hem eq "W");
- $retval += $reference_latlon;
- return $retval;
-}
-
-sub latlon {
- my $self = shift;
- my ($retlat, $retlon);
-
- if ($self->{"version"} == 0) {
- $retlat = latlon2deg($self->{"latitude"});
- $retlon = latlon2deg($self->{"longitude"});
- }
- else {
- $retlat = $retlon = undef;
- }
-
- return ($retlat, $retlon);
-}
-
-sub latlon2deg {
- my $rawmsec = shift;
- my $deg;
-
- $deg = ($rawmsec - $reference_latlon) / $conv_deg;
- return $deg;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::LOC - DNS LOC resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Location (LOC) resource records. See RFC 1876 for
-details.
-
-=head1 METHODS
-
-=head2 version
-
- print "version = ", $rr->version, "\n";
-
-Returns the version number of the representation; programs should
-always check this. C<Net::DNS> currently supports only version 0.
-
-=head2 size
-
- print "size = ", $rr->size, "\n";
-
-Returns the diameter of a sphere enclosing the described entity,
-in centimeters.
-
-=head2 horiz_pre
-
- print "horiz_pre = ", $rr->horiz_pre, "\n";
-
-Returns the horizontal precision of the data, in centimeters.
-
-=head2 vert_pre
-
- print "vert_pre = ", $rr->vert_pre, "\n";
-
-Returns the vertical precision of the data, in centimeters.
-
-=head2 latitude
-
- print "latitude = ", $rr->latitude, "\n";
-
-Returns the latitude of the center of the sphere described by
-the C<size> method, in thousandths of a second of arc. 2**31
-represents the equator; numbers above that are north latitude.
-
-=head2 longitude
-
- print "longitude = ", $rr->longitude, "\n";
-
-Returns the longitude of the center of the sphere described by
-the C<size> method, in thousandths of a second of arc. 2**31
-represents the prime meridian; numbers above that are east
-longitude.
-
-=head2 latlon
-
- ($lat, $lon) = $rr->latlon;
- system("xearth", "-pos", "fixed $lat $lon");
-
-Returns the latitude and longitude as floating-point degrees.
-Positive numbers represent north latitude or east longitude;
-negative numbers represent south latitude or west longitude.
-
-=head2 altitude
-
- print "altitude = ", $rr->altitude, "\n";
-
-Returns the altitude of the center of the sphere described by
-the C<size> method, in centimeters, from a base of 100,000m
-below the WGS 84 reference spheroid used by GPS.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-Some of the code and documentation is based on RFC 1876 and on code
-contributed by Christopher Davis.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1876
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MB.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MB.pm
deleted file mode 100644
index e6b33eed0ae..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MB.pm
+++ /dev/null
@@ -1,99 +0,0 @@
-package Net::DNS::RR::MB;
-#
-# $Id: MB.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"madname"}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- $string =~ s/\.+$//;
- $self->{"madname"} = $string;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"madname"} ? "$self->{madname}." : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"madname"}) {
- $rdata .= $packet->dn_comp($self->{"madname"}, $offset);
- }
-
- return $rdata;
-}
-
-sub _canonicalRdata {
- my $self=shift;
- my $rdata = "";
- if (exists $self->{"madname"}) {
- $rdata .= $self->_name2wire(lc($self->{"madname"}));
- }
- return $rdata;
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::MB - DNS MB resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Mailbox (MB) resource records.
-
-=head1 METHODS
-
-=head2 madname
-
- print "madname = ", $rr->madname, "\n";
-
-Returns the domain name of the host which has the specified mailbox.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.3
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MG.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MG.pm
deleted file mode 100644
index c4950e20048..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MG.pm
+++ /dev/null
@@ -1,100 +0,0 @@
-package Net::DNS::RR::MG;
-#
-# $Id: MG.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"mgmname"}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- $string =~ s/\.+$//;
- $self->{"mgmname"} = $string;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return exists $self->{"mgmname"} ? "$self->{mgmname}." : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"mgmname"}) {
- $rdata .= $packet->dn_comp($self->{"mgmname"}, $offset);
- }
-
- return $rdata;
-}
-
-
-sub _canonicalRdata {
- my $self=shift;
- my $rdata = "";
- if (exists $self->{"mgmname"}) {
- $rdata .= $self->_name2wire(lc($self->{"mgmname"}));
- }
- return $rdata;
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::MG - DNS MG resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Mail Group (MG) resource records.
-
-=head1 METHODS
-
-=head2 mgmname
-
- print "mgmname = ", $rr->mgmname, "\n";
-
-Returns the RR's mailbox field.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.6
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MINFO.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MINFO.pm
deleted file mode 100644
index 3a3885b44fb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MINFO.pm
+++ /dev/null
@@ -1,118 +0,0 @@
-package Net::DNS::RR::MINFO;
-#
-# $Id: MINFO.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"rmailbx"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset);
- ($self->{"emailbx"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && ($string =~ /^(\S+)\s+(\S+)$/)) {
- $self->{"rmailbx"} = $1;
- $self->{"emailbx"} = $2;
- $self->{"rmailbx"} =~ s/\.+$//;
- $self->{"emailbx"} =~ s/\.+$//;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"rmailbx"}
- ? "$self->{rmailbx}. $self->{emailbx}."
- : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"rmailbx"}) {
- $rdata .= $packet->dn_comp($self->{"rmailbx"}, $offset);
-
- $rdata .= $packet->dn_comp($self->{"emailbx"},
- $offset + length $rdata);
- }
-
- return $rdata;
-}
-
-
-sub _canonicalRdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"rmailbx"}) {
- $rdata .= $self->_name2wire(lc($self->{"rmailbx"}));
- $rdata .= $self->_name2wire(lc($self->{"emailbx"}));
- }
-
- return $rdata;
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::MINFO - DNS MINFO resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Mailbox Information (MINFO) resource records.
-
-=head1 METHODS
-
-=head2 rmailbx
-
- print "rmailbx = ", $rr->rmailbx, "\n";
-
-Returns the RR's responsible mailbox field. See RFC 1035.
-
-=head2 emailbx
-
- print "emailbx = ", $rr->emailbx, "\n";
-
-Returns the RR's error mailbox field.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.7
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MR.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MR.pm
deleted file mode 100644
index 7f7b60d3d16..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MR.pm
+++ /dev/null
@@ -1,101 +0,0 @@
-package Net::DNS::RR::MR;
-#
-# $Id: MR.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"newname"}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- $string =~ s/\.+$//;
- $self->{"newname"} = $string;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"newname"} ? "$self->{newname}." : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"newname"}) {
- $rdata .= $packet->dn_comp($self->{"newname"}, $offset);
- }
-
- return $rdata;
-}
-
-sub _canonicalRdata {
- my $self=shift;
- my $rdata = "";
- if (exists $self->{"newname"}) {
- $rdata .= $self->_name2wire(lc($self->{"newname"}));
- }
- return $rdata;
-}
-
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::MR - DNS MR resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Mail Rename (MR) resource records.
-
-=head1 METHODS
-
-=head2 newname
-
- print "newname = ", $rr->newname, "\n";
-
-Returns the RR's new name field.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.8
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MX.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MX.pm
deleted file mode 100644
index 31fe499f2c7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MX.pm
+++ /dev/null
@@ -1,135 +0,0 @@
-package Net::DNS::RR::MX;
-#
-# $Id: MX.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-
-# Highest preference sorted first.
-__PACKAGE__->set_rrsort_func("preference",
- sub {
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- $a->{'preference'} <=> $b->{'preference'}
-}
-);
-
-
-__PACKAGE__->set_rrsort_func("default_sort",
- __PACKAGE__->get_rrsort_func("preference")
-
- );
-
-
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"preference"}) = unpack("\@$offset n", $$data);
- $offset += Net::DNS::INT16SZ();
-
- ($self->{"exchange"}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && ($string =~ /^(\d+)\s+(\S+)$/)) {
- $self->{"preference"} = $1;
- $self->{"exchange"} = $2;
- $self->{"exchange"} =~ s/\.+$//;;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return defined $self->{"preference"}
- ? "$self->{preference} $self->{exchange}."
- : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"preference"}) {
- $rdata .= pack("n", $self->{"preference"});
- $rdata .= $packet->dn_comp($self->{"exchange"},
- $offset + length $rdata);
- }
-
- return $rdata;
-}
-
-sub _canonicalRdata {
- my ($self) = @_;
- my $rdata = "";
-
- if (exists $self->{"preference"}) {
- $rdata .= pack("n", $self->{"preference"});
- $rdata .= $self->_name2wire(lc($self->{"exchange"}))
- }
-
- return $rdata;
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::MX - DNS MX resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Mail Exchanger (MX) resource records.
-
-=head1 METHODS
-
-=head2 preference
-
- print "preference = ", $rr->preference, "\n";
-
-Returns the preference for this mail exchange.
-
-=head2 exchange
-
- print "exchange = ", $rr->exchange, "\n";
-
-Returns name of this mail exchange.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-Portions Copyright (c) 2005 Olaf Kolkman NLnet Labs.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.9
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NAPTR.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NAPTR.pm
deleted file mode 100644
index 1148ec99463..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NAPTR.pm
+++ /dev/null
@@ -1,210 +0,0 @@
-package Net::DNS::RR::NAPTR;
-#
-# $Id: NAPTR.pm 583 2006-05-03 12:24:18Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 583 $)[1];
-
-
-
-
-__PACKAGE__->set_rrsort_func("order",
- sub {
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- $a->{'order'} <=> $b->{'order'}
- ||
- $a->{'preference'} <=> $b->{'preference'}
-}
-);
-
-
-__PACKAGE__->set_rrsort_func("default_sort",
- __PACKAGE__->get_rrsort_func("order")
-
- );
-
-__PACKAGE__->set_rrsort_func("preference",
- sub {
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- $a->{"preference"} <=> $b->{"preference"}
- ||
- $a->{"order"} <=> $b->{"order"}
-}
-);
-
-
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"order"} ) = unpack("\@$offset n", $$data);
- $offset += Net::DNS::INT16SZ();
-
- ($self->{"preference"}) = unpack("\@$offset n", $$data);
- $offset += Net::DNS::INT16SZ();
-
- my ($len) = unpack("\@$offset C", $$data);
- ++$offset;
- ($self->{"flags"}) = unpack("\@$offset a$len", $$data);
- $offset += $len;
-
- $len = unpack("\@$offset C", $$data);
- ++$offset;
- ($self->{"service"}) = unpack("\@$offset a$len", $$data);
- $offset += $len;
-
- $len = unpack("\@$offset C", $$data);
- ++$offset;
- ($self->{"regexp"}) = unpack("\@$offset a$len", $$data);
- $offset += $len;
-
- ($self->{"replacement"}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && $string =~ /^ (\d+) \s+
- (\d+) \s+
- ['"] (.*?) ['"] \s+
- ['"] (.*?) ['"] \s+
- ['"] (.*?) ['"] \s+
- (\S+) $/x) {
-
- $self->{"order"} = $1;
- $self->{"preference"} = $2;
- $self->{"flags"} = $3;
- $self->{"service"} = $4;
- $self->{"regexp"} = $5;
- $self->{"replacement"} = $6;
- $self->{"replacement"} =~ s/\.+$//;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
- my $rdatastr;
-
- if (exists $self->{"order"}) {
- $rdatastr = $self->{"order"} . ' ' .
- $self->{"preference"} . ' "' .
- $self->{"flags"} . '" "' .
- $self->{"service"} . '" "' .
- $self->{"regexp"} . '" ' .
- $self->{"replacement"} . '.';
- }
- else {
- $rdatastr = '';
- }
-
- return $rdatastr;
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"order"}) {
-
- $rdata .= pack("n2", $self->{"order"}, $self->{"preference"});
-
- $rdata .= pack("C", length $self->{"flags"});
- $rdata .= $self->{"flags"};
-
- $rdata .= pack("C", length $self->{"service"});
- $rdata .= $self->{"service"};
-
- $rdata .= pack("C", length $self->{"regexp"});
- $rdata .= $self->{"regexp"};
-
- $rdata .= $self->_name2wire ($self->{"replacement"});
-
- }
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::NAPTR - DNS NAPTR resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Naming Authority Pointer (NAPTR) resource records.
-
-=head1 METHODS
-
-=head2 order
-
- print "order = ", $rr->order, "\n";
-
-Returns the order field.
-
-=head2 preference
-
- print "preference = ", $rr->preference, "\n";
-
-Returns the preference field.
-
-=head2 flags
-
- print "flags = ", $rr->flags, "\n";
-
-Returns the flags field.
-
-=head2 service
-
- print "service = ", $rr->service, "\n";
-
-Returns the service field.
-
-=head2 regexp
-
- print "regexp = ", $rr->regexp, "\n";
-
-Returns the regexp field.
-
-=head2 replacement
-
- print "replacement = ", $rr->replacement, "\n";
-
-Returns the replacement field.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-Portions Copyright (c) 2005 Olaf Kolkman NLnet Labs.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-B<Net::DNS::RR::NAPTR> is based on code contributed by Ryan Moats.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 2168
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NIMLOC.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NIMLOC.pm
deleted file mode 100644
index bec86aebe41..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NIMLOC.pm
+++ /dev/null
@@ -1,63 +0,0 @@
-package Net::DNS::RR::NIMLOC;
-#
-# $Id: NIMLOC.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
- return bless $self, $class;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::NIMLOC - DNS NIMLOC resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Nimrod Locator (NIMLOC) resource records.
-
-=head1 METHODS
-
-=head2 rdlength
-
- print "rdlength = ", $rr->rdlength, "\n";
-
-Returns the length of the record's data section.
-
-=head2 rdata
-
- $rdata = $rr->rdata;
-
-Returns the record's data section as binary data.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-draft-ietf-nimrod-dns-I<xx>.txt
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NS.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NS.pm
deleted file mode 100644
index 96f60db7847..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NS.pm
+++ /dev/null
@@ -1,106 +0,0 @@
-#
-# $Id: NS.pm 707 2008-02-06 22:27:28Z olaf $
-#
-package Net::DNS::RR::NS;
-
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 707 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"nsdname"}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- $string =~ s/\.+$//;
- $self->{"nsdname"} = $string;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"nsdname"} ? "$self->{nsdname}." : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"nsdname"}) {
- $rdata .= $packet->dn_comp($self->{"nsdname"}, $offset);
- }
-
- return $rdata;
-}
-
-
-
-sub _canonicalRdata {
- # rdata contains a compressed domainname... we should not have that.
- my ($self) = @_;
- my $rdata;
- $rdata= $self->_name2wire(lc($self->{"nsdname"}));
- return $rdata;
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::NS - DNS NS resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Name Server (NS) resource records.
-
-=head1 METHODS
-
-=head2 nsdname
-
- print "nsdname = ", $rr->nsdname, "\n";
-
-Returns the name of the nameserver.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-Portions Copyright (c) 2005 O.M, Kolkman, RIPE NCC.
-
-Portions Copyright (c) 2005-2006 O.M, Kolkman, NLnet Labs.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.11
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NSAP.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NSAP.pm
deleted file mode 100644
index 6b432c90246..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NSAP.pm
+++ /dev/null
@@ -1,274 +0,0 @@
-package Net::DNS::RR::NSAP;
-#
-# $Id: NSAP.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- my $afi = unpack("\@$offset C", $$data);
- $self->{"afi"} = sprintf("%02x", $afi);
- ++$offset;
-
- if ($self->{"afi"} eq "47") {
- my @idi = unpack("\@$offset C2", $$data);
- $offset += 2;
-
- my $dfi = unpack("\@$offset C", $$data);
- $offset += 1;
-
- my @aa = unpack("\@$offset C3", $$data);
- $offset += 3;
-
- my @rsvd = unpack("\@$offset C2", $$data);
- $offset += 2;
-
- my @rd = unpack("\@$offset C2", $$data);
- $offset += 2;
-
- my @area = unpack("\@$offset C2", $$data);
- $offset += 2;
-
- my @id = unpack("\@$offset C6", $$data);
- $offset += 6;
-
- my $sel = unpack("\@$offset C", $$data);
- $offset += 1;
-
- $self->{"idi"} = sprintf("%02x" x 2, @idi);
- $self->{"dfi"} = sprintf("%02x" x 1, $dfi);
- $self->{"aa"} = sprintf("%02x" x 3, @aa);
- $self->{"rsvd"} = sprintf("%02x" x 2, @rsvd);
- $self->{"rd"} = sprintf("%02x" x 2, @rd);
- $self->{"area"} = sprintf("%02x" x 2, @area);
- $self->{"id"} = sprintf("%02x" x 6, @id);
- $self->{"sel"} = sprintf("%02x" x 1, $sel);
-
- } else {
- # What to do for unsupported versions?
- }
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- $string =~ s/\.//g; # remove all dots.
- $string =~ s/^0x//; # remove leading 0x
-
- if ($string =~ /^[a-zA-Z0-9]{40}$/) {
- @{ $self }{ qw(afi idi dfi aa rsvd rd area id sel) } =
- unpack("A2A4A2A6A4A4A4A12A2", $string);
- }
- }
-
- return bless $self, $class;
-}
-
-
-sub idp {
- my $self = shift;
-
- return join('', $self->{"afi"},
- $self->{"idi"});
-}
-
-sub dsp {
- my $self = shift;
-
- return join('',
- $self->{"dfi"},
- $self->{"aa"},
- $self->rsvd,
- $self->{"rd"},
- $self->{"area"},
- $self->{"id"},
- $self->{"sel"});
-}
-
-sub rsvd {
- my $self = shift;
-
- return exists $self->{"rsvd"} ? $self->{"rsvd"} : "0000";
-}
-
-sub rdatastr {
- my $self = shift;
- my $rdatastr;
-
- if (exists $self->{"afi"}) {
- if ($self->{"afi"} eq "47") {
- $rdatastr = join('', $self->idp, $self->dsp);
- } else {
- $rdatastr = "; AFI $self->{'afi'} not supported";
- }
- } else {
- $rdatastr = '';
- }
-
- return $rdatastr;
-}
-
-sub rr_rdata {
- my $self = shift;
- my $rdata = "";
-
- if (exists $self->{"afi"}) {
- $rdata .= pack("C", hex($self->{"afi"}));
-
- if ($self->{"afi"} eq "47") {
- $rdata .= str2bcd($self->{"idi"}, 2);
- $rdata .= str2bcd($self->{"dfi"}, 1);
- $rdata .= str2bcd($self->{"aa"}, 3);
- $rdata .= str2bcd(0, 2); # rsvd
- $rdata .= str2bcd($self->{"rd"}, 2);
- $rdata .= str2bcd($self->{"area"}, 2);
- $rdata .= str2bcd($self->{"id"}, 6);
- $rdata .= str2bcd($self->{"sel"}, 1);
- }
-
- # Checks for other versions would go here.
- }
-
- return $rdata;
-}
-
-#------------------------------------------------------------------------------
-# Usage: str2bcd(STRING, NUM_BYTES)
-#
-# Takes a string representing a hex number of arbitrary length and
-# returns an equivalent BCD string of NUM_BYTES length (with
-# NUM_BYTES * 2 digits), adding leading zeros if necessary.
-#------------------------------------------------------------------------------
-
-# This can't be the best way....
-sub str2bcd {
- my ($string, $bytes) = @_;
- my $retval = "";
-
- my $digits = $bytes * 2;
- $string = sprintf("%${digits}s", $string);
- $string =~ tr/ /0/;
-
- my $i;
- for ($i = 0; $i < $bytes; ++$i) {
- my $bcd = substr($string, $i*2, 2);
- $retval .= pack("C", hex $bcd);
- }
-
- return $retval;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::NSAP - DNS NSAP resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Network Service Access Point (NSAP) resource records.
-
-=head1 METHODS
-
-=head2 idp
-
- print "idp = ", $rr->idp, "\n";
-
-Returns the RR's initial domain part (the AFI and IDI fields).
-
-=head2 dsp
-
- print "dsp = ", $rr->dsp, "\n";
-
-Returns the RR's domain specific part (the DFI, AA, Rsvd, RD, Area,
-ID, and SEL fields).
-
-=head2 afi
-
- print "afi = ", $rr->afi, "\n";
-
-Returns the RR's authority and format identifier. C<Net::DNS>
-currently supports only AFI 47 (GOSIP Version 2).
-
-=head2 idi
-
- print "idi = ", $rr->idi, "\n";
-
-Returns the RR's initial domain identifier.
-
-=head2 dfi
-
- print "dfi = ", $rr->dfi, "\n";
-
-Returns the RR's DSP format identifier.
-
-=head2 aa
-
- print "aa = ", $rr->aa, "\n";
-
-Returns the RR's administrative authority.
-
-=head2 rsvd
-
- print "rsvd = ", $rr->rsvd, "\n";
-
-Returns the RR's reserved field.
-
-=head2 rd
-
- print "rd = ", $rr->rd, "\n";
-
-Returns the RR's routing domain identifier.
-
-=head2 area
-
- print "area = ", $rr->area, "\n";
-
-Returns the RR's area identifier.
-
-=head2 id
-
- print "id = ", $rr->id, "\n";
-
-Returns the RR's system identifier.
-
-=head2 sel
-
- print "sel = ", $rr->sel, "\n";
-
-Returns the RR's NSAP selector.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself..
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1706.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NULL.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NULL.pm
deleted file mode 100644
index db6e58651b0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NULL.pm
+++ /dev/null
@@ -1,65 +0,0 @@
-package Net::DNS::RR::NULL;
-#
-# $Id: NULL.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-use Net::DNS::Packet;
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
- return bless $self, $class;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::NULL - DNS NULL resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Null (NULL) resource records.
-
-=head1 METHODS
-
-=head2 rdlength
-
- print "rdlength = ", $rr->rdlength, "\n";
-
-Returns the length of the record's data section.
-
-=head2 rdata
-
- $rdata = $rr->rdata;
-
-Returns the record's data section as binary data.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.10
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/OPT.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/OPT.pm
deleted file mode 100644
index 67c9e1ba0af..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/OPT.pm
+++ /dev/null
@@ -1,286 +0,0 @@
-package Net::DNS::RR::OPT;
-#
-# $Id: OPT.pm 393 2005-07-01 19:21:52Z olaf $
-#
-
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION %extendedrcodesbyname %extendedrcodesbyval $EDNSVERSION);
-
-use Carp;
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 393 $)[1];
-
-$EDNSVERSION = 0;
-
-%extendedrcodesbyname = (
- "ONLY_RDATA" => 0, # No name specified see 4.6 of 2671
- "UNDEF1" => 1,
- "UNDEF2" => 2,
- "UNDEF3" => 3,
- "UNDEF4" => 4,
- "UNDEF5" => 5,
- "UNDEF6" => 6,
- "UNDEF7" => 7,
- "UNDEF8" => 8,
- "UNDEF9" => 9,
- "UNDEF10" => 10,
- "UNDEF11" => 11,
- "UNDEF12" => 12,
- "UNDEF13" => 13,
- "UNDEF14" => 14,
- "UNDEF15" => 15,
- "BADVERS" => 16, # RFC 2671
-);
-%extendedrcodesbyval = reverse %extendedrcodesbyname;
-
-
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- $self->{"name"} = "" ; # should allway be "root"
-
- if ($self->{"rdlength"} > 0) {
- $self->{"optioncode"} = unpack("n", substr($$data, $offset, 2));
- $self->{"optionlength"} = unpack("n", substr($$data, $offset+2, 2));
- $self->{"optiondata"} = unpack("n", substr($$data, $offset+4, $self->{"optionlength"}));
- }
-
- $self->{"_rcode_flags"} = pack("N",$self->{"ttl"});
-
- $self->{"extendedrcode"} = unpack("C", substr($self->{"_rcode_flags"}, 0, 1));
- $self->{"ednsversion"} = unpack("C", substr($self->{"_rcode_flags"}, 1, 1));
- $self->{"ednsflags"} = unpack("n", substr($self->{"_rcode_flags"}, 2, 2));
-
-
- return bless $self, $class;
-}
-
-
-
-
-
-
-sub new_from_string {
- my ($class, $self ) = @_;
-
- # There is no such thing as an OPT RR in a ZONE file.
- # Not implemented!
- croak "You should not try to create a OPT RR from a string\nNot implemented";
- return bless $self, $class;
-}
-
-
-
-sub new_from_hash {
- my ($class, $self ) = @_;
-
- $self->{"name"} = "" ; # should allway be "root"
- # Setting the MTU smaller then 512 does not make sense
- # should we test for a maximum here?
- if ($self->{"class"} eq "IN" || $self->{"class"} < 512) {
- $self->{"class"} = 512; # Default value...
- }
-
- $self->{"extendedrcode"} = 0 unless exists $self->{"extendedrcode"};
-
- $self->{"ednsflags"} = 0 unless exists $self->{"ednsflags"};
- $self->{"ednsversion"} = $EDNSVERSION unless exists $self->{"ednsversion"};
- $self->{"ttl"}= unpack ("N",
- pack("C", $self->{"extendedrcode"}) .
- pack("C", $self->{"ednsversion"}) .
- pack("n", $self->{"ednsflags"})
- );
-
- if (exists $self->{"optioncode"}) {
- $self->{"optiondata"} = "" if ! exists $self->{"optiondata"};
- $self->{"optionlength"} = length $self->{"optiondata"}
- }
-
- return bless $self, $class;
-
-}
-
-
-
-
-
-sub string {
- my $self = shift;
- return
- "; EDNS Version " . $self->{"ednsversion"} .
- "\t UDP Packetsize: " . $self->{"class"} .
- "\n; EDNS-RCODE:\t" . $self->{"extendedrcode"} .
- " (" . $extendedrcodesbyval{ $self->{"extendedrcode"} }. ")" .
- "\n; EDNS-FLAGS:\t" . sprintf("0x%04x", $self->{"ednsflags"}) .
- "\n";
-}
-
-
-sub rdatastr {
- return '; Parsing of OPT rdata is not yet implemented';
-}
-
-
-sub rr_rdata {
- my $self = shift;
- my $rdata;
-
- if (exists $self->{"optioncode"}) {
- $rdata = pack("n", $self->{"optioncode"});
- $rdata .= pack("n", $self->{"optionlength"});
- $rdata .= $self->{"optiondata"}
- } else {
- $rdata = "";
- }
-
- return $rdata;
-}
-
-
-
-
-
-
-
-sub do{
- my $self=shift;
- return ( 0x8000 & $self->{"ednsflags"} );
-}
-
-
-
-sub set_do{
- my $self=shift;
- return $self->{"ednsflags"} = ( 0x8000 | $self->{"ednsflags"} );
-
-}
-
-
-
-sub clear_do{
- my $self=shift;
- return $self->{"ednsflags"} = ( ~0x8000 & $self->{"ednsflags"} );
-
-}
-
-
-
-sub size {
- my $self=shift;
- my $size=shift;
- $self->{"class"}=$size if defined($size);
- return $self->{"class"};
-}
-
-
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::OPT - DNS OPT
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for EDNS pseudo resource record OPT.
-
-=head1 METHODS
-
-This object should only be used inside the Net::DNS classes itself.
-
-=head2 new
-
-Since "OPT" is a pseudo record and should not be stored in
-masterfiles; Therefore we have not implemented a method to create this
-RR from string.
-
-One may create the object from a hash. See RFC 2671 for details for
-the meaning of the hash keys.
-
- $rr= new Net::DNS::RR {
- name => "", # Ignored and set to ""
- type => "OPT",
- class => 1024, # sets UDP payload size
- extendedrcode => 0x00, # sets the extended RCODE 1 octets
- ednsflags => 0x0000, # sets the ednsflags (2octets)
- optioncode => 0x0 # 2 octets
- optiondata => 0x0 # optionlength octets
- }
-
-The ednsversion is set to 0 for now. The ttl value is determined from
-the extendedrcode, the ednsversion and the ednsflag.
-The rdata is constructed from the optioncode and optiondata
-see section 4.4 of RFC 2671
-
-If optioncode is left undefined then we do not expect any RDATA.
-
-The defaults are no rdata.
-
-
-=head2 do, set_do, clear_do
-
- $opt->set_do;
-
-Reads, sets and clears the do flag. (first bit in the ednssflags);
-
-
-=head2 size
-
- $opt->size(1498);
- print "Packet size:". $opt->size() ;
-
-Sets or gets the packet size.
-
-
-=head1 TODO
-
-- This class is tailored to use with dnssec.
-
-- Do some range checking on the input.
-
-- This class probably needs subclasses once OPTION codes start to be defined.
-
-- look at use of extended labels
-
-=head1 COPYRIGHT
-
-Copyright (c) 2001, 2002 RIPE NCC. Author Olaf M. Kolkman
-
-All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of the author not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-
-THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
-AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
-DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
-AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-Based on, and contains, code by Copyright (c) 1997-2002 Michael Fuhr.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 2435 Section 3
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PTR.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PTR.pm
deleted file mode 100644
index bf894f26c07..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PTR.pm
+++ /dev/null
@@ -1,101 +0,0 @@
-package Net::DNS::RR::PTR;
-#
-# $Id: PTR.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"ptrdname"}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- $string =~ s/\.+$//;
- $self->{"ptrdname"} = $string;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"ptrdname"} ? "$self->{ptrdname}." : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"ptrdname"}) {
- $rdata .= $packet->dn_comp(lc($self->{"ptrdname"}), $offset);
- }
-
- return $rdata;
-}
-
-sub _canonicalRdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"ptrdname"}) {
- $rdata .= $self->_name2wire($self->{"ptrdname"});
- }
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::PTR - DNS PTR resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Pointer (PTR) resource records.
-
-=head1 METHODS
-
-=head2 ptrdname
-
- print "ptrdname = ", $rr->ptrdname, "\n";
-
-Returns the domain name associated with this record.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.12
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PX.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PX.pm
deleted file mode 100644
index a9b4a3206e6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PX.pm
+++ /dev/null
@@ -1,153 +0,0 @@
-package Net::DNS::RR::PX;
-#
-# $Id: PX.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-
-
-# Highest preference sorted first.
-
-__PACKAGE__->set_rrsort_func("preference",
- sub {
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- $a->{'preference'} <=> $b->{'preference'}
-}
-);
-
-
-__PACKAGE__->set_rrsort_func("default_sort",
- __PACKAGE__->get_rrsort_func("preference")
-
- );
-
-
-
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"preference"}) = unpack("\@$offset n", $$data);
- $offset += Net::DNS::INT16SZ();
-
- ($self->{"map822"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset);
- ($self->{"mapx400"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && ($string =~ /^(\d+)\s+(\S+)\s+(\S+)$/)) {
- $self->{"preference"} = $1;
- $self->{"map822"} = $2;
- $self->{"mapx400"} = $3;
- $self->{"map822"} =~ s/\.+$//;;
- $self->{"mapx400"} =~ s/\.+$//;;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"preference"}
- ? "$self->{preference} $self->{map822}. $self->{mapx400}."
- : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"preference"}) {
- $rdata .= pack("n", $self->{"preference"});
-
- $rdata .= $packet->dn_comp($self->{"map822"},
- $offset + length $rdata);
-
- $rdata .= $packet->dn_comp($self->{"mapx400"},
- $offset + length $rdata);
- }
-
- return $rdata;
-}
-
-
-sub _canonicalRdata {
- my ($self) = shift;
- my $rdata = "";
-
- if (exists $self->{"preference"}) {
- $rdata .= pack("n", $self->{"preference"});
- $rdata .= $self->_name2wire(lc($self->{"map822"}));
- $rdata .= $self->_name2wire(lc($self->{"mapx400"}));
- }
-
- return $rdata;
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::PX - DNS PX resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS X.400 Mail Mapping Information (PX) resource records.
-
-=head1 METHODS
-
-=head2 preference
-
- print "preference = ", $rr->preference, "\n";
-
-Returns the preference given to this RR.
-
-=head2 map822
-
- print "map822 = ", $rr->map822, "\n";
-
-Returns the RFC822 part of the RFC1327 mapping information.
-
-=head2 mapx400
-
- print "mapx400 = ", $rr->mapx400, "\n";
-
-Returns the X.400 part of the RFC1327 mapping information.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-Portions Copyright (c) 2005 Olaf Kolkman NLnet Labs.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC822, RFC 1327, RFC 2163
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RP.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RP.pm
deleted file mode 100644
index 7c422c3a17c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RP.pm
+++ /dev/null
@@ -1,121 +0,0 @@
-package Net::DNS::RR::RP;
-#
-# $Id: RP.pm 702 2008-01-21 10:01:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 702 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"mbox"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset);
- ($self->{"txtdname"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && ($string =~ /^(\S+)\s+(\S+)$/)) {
- $self->{"mbox"} = $1;
- $self->{"txtdname"} = $2;
- $self->{"mbox"} =~ s/\.+$//;
- $self->{"txtdname"} =~ s/\.+$//;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
- if (exists $self->{"mbox"}) {
- return "$self->{mbox}. $self->{txtdname}.";
- }
- return '';
-
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"mbox"}) {
- $rdata .= $packet->dn_comp($self->{"mbox"}, $offset);
- $rdata .= $packet->dn_comp($self->{"txtdname"},
- $offset + length $rdata);
- }
-
- return $rdata;
-}
-
-
-sub _canonicalRdata {
- my $self = shift;
- my $rdata = "";
- if (exists $self->{"mbox"}) {
- $rdata .= $self->_name2wire(lc($self->{"mbox"}));
- $rdata .= $self->_name2wire(lc($self->{"txtdname"}));
-
-
- }
-
- return $rdata;
-}
-
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::RP - DNS RP resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Responsible Person (RP) resource records.
-
-=head1 METHODS
-
-=head2 mbox
-
- print "mbox = ", $rr->mbox, "\n";
-
-Returns a domain name that specifies the mailbox for the responsible person.
-
-=head2 txtdname
-
- print "txtdname = ", $rr->txtdname, "\n";
-
-Returns a domain name that specifies a TXT record containing further
-information about the responsible person.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1183 Section 2.2
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RT.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RT.pm
deleted file mode 100644
index 22f0891d944..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RT.pm
+++ /dev/null
@@ -1,133 +0,0 @@
-package Net::DNS::RR::RT;
-#
-# $Id: RT.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-# Highest preference sorted first.
-__PACKAGE__->set_rrsort_func("preference",
- sub {
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- $a->{'preference'} <=> $b->{'preference'}
-}
-);
-
-
-__PACKAGE__->set_rrsort_func("default_sort",
- __PACKAGE__->get_rrsort_func("preference")
-
- );
-
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"preference"}) = unpack("\@$offset n", $$data);
- $offset += Net::DNS::INT16SZ();
-
- ($self->{"intermediate"}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && ($string =~ /^(\d+)\s+(\S+)$/)) {
- $self->{"preference"} = $1;
- $self->{"intermediate"} = $2;
- $self->{"intermediate"} =~ s/\.+$//;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return $self->{"preference"}
- ? "$self->{preference} $self->{intermediate}."
- : '';
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"preference"}) {
- $rdata .= pack("n", $self->{"preference"});
- $rdata .= $packet->dn_comp($self->{"intermediate"},
- $offset + length $rdata);
- }
-
- return $rdata;
-}
-
-sub _canonicalRdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"preference"}) {
- $rdata .= pack("n", $self->{"preference"});
- $rdata .= $self->_name2wire(lc($self->{"intermediate"}));
- }
-
- return $rdata;
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::RT - DNS RT resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Route Through (RT) resource records.
-
-=head1 METHODS
-
-=head2 preference
-
- print "preference = ", $rr->preference, "\n";
-
-Returns the preference for this route.
-
-=head2 intermediate
-
- print "intermediate = ", $rr->intermediate, "\n";
-
-Returns the domain name of the intermediate host.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-Portions Copyright (c) 2005 Olaf Kolkman NLnet Labs.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1183 Section 3.3
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SOA.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SOA.pm
deleted file mode 100644
index 9cf24d4def1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SOA.pm
+++ /dev/null
@@ -1,176 +0,0 @@
-package Net::DNS::RR::SOA;
-#
-# $Id: SOA.pm 632 2007-03-12 13:24:21Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 632 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"mname"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset);
- ($self->{"rname"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset);
-
- @{$self}{qw(serial refresh retry expire minimum)} = unpack("\@$offset N5", $$data);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- $string =~ tr/()//d;
-
- # XXX do we need to strip out comments here now that RR.pm does it?
- $string =~ s/;.*$//mg;
-
- @{$self}{qw(mname rname serial refresh retry expire minimum)} = $string =~ /(\S+)/g;
-
- $self->{'mname'} =~ s/\.+$//;
- $self->{'rname'} =~ s/\.+$//;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
- my $rdatastr;
-
- if (exists $self->{"mname"}) {
- $rdatastr = "$self->{mname}. $self->{rname}. (\n";
- $rdatastr .= "\t" x 5 . "$self->{serial}\t; Serial\n";
- $rdatastr .= "\t" x 5 . "$self->{refresh}\t; Refresh\n";
- $rdatastr .= "\t" x 5 . "$self->{retry}\t; Retry\n";
- $rdatastr .= "\t" x 5 . "$self->{expire}\t; Expire\n";
- $rdatastr .= "\t" x 5 . "$self->{minimum} )\t; Minimum TTL";
- } else {
- $rdatastr = '';
- }
-
- return $rdatastr;
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- # Assume that if one field exists, they all exist. Script will
- # print a warning otherwise.
-
- if (exists $self->{"mname"}) {
- $rdata .= $packet->dn_comp($self->{"mname"}, $offset);
- $rdata .= $packet->dn_comp($self->{"rname"}, $offset + length $rdata);
-
- $rdata .= pack("N5", @{$self}{qw(serial refresh retry expire minimum)});
- }
-
- return $rdata;
-}
-
-
-
-sub _canonicalRdata {
- my $self=shift;
- my $rdata = "";
-
- # Assume that if one field exists, they all exist. Script will
- # print a warning otherwise.
-
- if (exists $self->{"mname"}) {
- $rdata .= $self->_name2wire(lc($self->{"mname"}));
- $rdata .= $self->_name2wire(lc($self->{"rname"}));
- $rdata .= pack("N5", @{$self}{qw(serial refresh retry expire minimum)});
- }
-
- return $rdata;
-}
-
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::SOA - DNS SOA resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Start of Authority (SOA) resource records.
-
-=head1 METHODS
-
-=head2 mname
-
- print "mname = ", $rr->mname, "\n";
-
-Returns the domain name of the original or primary nameserver for
-this zone.
-
-=head2 rname
-
- print "rname = ", $rr->rname, "\n";
-
-Returns a domain name that specifies the mailbox for the person
-responsible for this zone.
-
-=head2 serial
-
- print "serial = ", $rr->serial, "\n";
-
-Returns the zone's serial number.
-
-=head2 refresh
-
- print "refresh = ", $rr->refresh, "\n";
-
-Returns the zone's refresh interval.
-
-=head2 retry
-
- print "retry = ", $rr->retry, "\n";
-
-Returns the zone's retry interval.
-
-=head2 expire
-
- print "expire = ", $rr->expire, "\n";
-
-Returns the zone's expire interval.
-
-=head2 minimum
-
- print "minimum = ", $rr->minimum, "\n";
-
-Returns the minimum (default) TTL for records in this zone.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.13
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SPF.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SPF.pm
deleted file mode 100644
index d8cd48c8e51..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SPF.pm
+++ /dev/null
@@ -1,48 +0,0 @@
-package Net::DNS::RR::SPF;
-#
-# $Id: SPF.pm 684 2007-10-10 12:32:22Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-use Net::DNS::RR::TXT;
-
-
-@ISA = qw(Net::DNS::RR::TXT);
-$VERSION = (qw$LastChangedRevision: 684 $)[1];
-
-1;
-
-=head1 NAME
-
-Net::DNS::RR::SPF - DNS SPF resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-This is a clone of the TXT record. This class therfore completely inherits
-all properties of the Net::DNS::RR::TXT class.
-
-Please see the L<Net::DNS::RR::TXT> perldocumentation for details
-
-=head1 COPYRIGHT
-
-Copyright (c) 2005 Olaf Kolkman (NLnet Labs)
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.14, RFC 4408
-
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SRV.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SRV.pm
deleted file mode 100644
index a80ded72ba5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SRV.pm
+++ /dev/null
@@ -1,151 +0,0 @@
-package Net::DNS::RR::SRV;
-#
-# $Id: SRV.pm 583 2006-05-03 12:24:18Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 583 $)[1];
-
-
-
-__PACKAGE__->set_rrsort_func("priority",
- sub {
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- $a->{'priority'} <=> $b->{'priority'}
- ||
- $b->{'weight'} <=> $a->{'weight'}
-}
-);
-
-
-__PACKAGE__->set_rrsort_func("default_sort",
- __PACKAGE__->get_rrsort_func("priority")
-
- );
-
-__PACKAGE__->set_rrsort_func("weight",
- sub {
- my ($a,$b)=($Net::DNS::a,$Net::DNS::b);
- $b->{"weight"} <=> $a->{"weight"}
- ||
- $a->{"priority"} <=> $b->{"priority"}
-}
-);
-
-
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{'rdlength'} > 0) {
- @{$self}{qw(priority weight port)} = unpack("\@$offset n3", $$data);
- $offset += 3 * Net::DNS::INT16SZ();
-
- ($self->{'target'}) = Net::DNS::Packet::dn_expand($data, $offset);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && ($string =~ /^(\d+)\s+(\d+)\s+(\d+)\s+(\S+)$/)) {
- @{$self}{qw(priority weight port target)} = ($1, $2, $3, $4);
-
- $self->{'target'} =~ s/\.+$//;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
- my $rdatastr;
-
- if (exists $self->{'priority'}) {
- $rdatastr = join(' ', @{$self}{qw(priority weight port target)});
- $rdatastr =~ s/(.*[^\.])$/$1./;
- } else {
- $rdatastr = '';
- }
-
- return $rdatastr;
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = '';
-
- if (exists $self->{'priority'}) {
- $rdata .= pack('n3', @{$self}{qw(priority weight port)});
- $rdata .= $self->_name2wire ($self->{"target"});
-
- }
-
- return $rdata;
-}
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::SRV - DNS SRV resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Service (SRV) resource records.
-
-=head1 METHODS
-
-=head2 priority
-
- print "priority = ", $rr->priority, "\n";
-
-Returns the priority for this target host.
-
-=head2 weight
-
- print "weight = ", $rr->weight, "\n";
-
-Returns the weight for this target host.
-
-=head2 port
-
- print "port = ", $rr->port, "\n";
-
-Returns the port on this target host for the service.
-
-=head2 target
-
- print "target = ", $rr->target, "\n";
-
-Returns the target host.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 2782
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SSHFP.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SSHFP.pm
deleted file mode 100644
index 4890c3766e3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SSHFP.pm
+++ /dev/null
@@ -1,219 +0,0 @@
-package Net::DNS::RR::SSHFP;
-#
-# $Id: SSHFP.pm 626 2007-02-02 07:31:32Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION $HasBabble);
-
-BEGIN {
- eval {
- require Digest::BubbleBabble;
- Digest::BubbleBabble->import(qw(bubblebabble))
- };
-
- $HasBabble = $@ ? 0 : 1;
-
-}
-
-$VERSION = (qw$LastChangedRevision: 626 $)[1];
-
-@ISA = qw(Net::DNS::RR);
-
-my %algtype = (
- RSA => 1,
- DSA => 2,
-);
-
-my %fingerprinttype = (
- 'SHA-1' => 1,
-);
-
-my %fingerprinttypebyval = reverse %fingerprinttype;
-my %algtypebyval = reverse %algtype;
-
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{'rdlength'} > 0) {
- my $offsettoalg = $offset;
- my $offsettofptype = $offset+1;
- my $offsettofp = $offset+2;
- my $fplength = 20; # This will need to change if other fingerprint types
- # are being deployed.
-
-
- $self->{'algorithm'} = unpack('C', substr($$data, $offsettoalg, 1));
- $self->{'fptype'} = unpack('C', substr($$data, $offsettofptype, 1));
-
- unless (defined $fingerprinttypebyval{$self->{'fptype'}}){
- warn "This fingerprint type $self->{'fptype'} has not yet been implemented, creation of SSHFP failed\n." ;
- return undef;
- }
-
-
- # All this is SHA-1 dependend
- $self->{'fpbin'} = substr($$data,$offsettofp, $fplength); # SHA1 digest 20 bytes long
-
- $self->{'fingerprint'} = uc unpack('H*', $self->{'fpbin'});
- }
-
-
- return bless $self, $class;
-}
-
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string) {
- $string =~ tr/()//d;
- $string =~ s/;.*$//mg;
- $string =~ s/\n//g;
-
- @{$self}{qw(algorithm fptype fingerprint)} = split(m/\s+/, $string, 3);
-
- # We allow spaces in the fingerprint.
- $self->{'fingerprint'} =~ s/\s//g;
- }
-
- return bless $self, $class;
-}
-
-
-
-sub rdatastr {
- my $self = shift;
- my $rdatastr = '';
-
- if (exists $self->{"algorithm"}) {
- $rdatastr = join(' ', @{$self}{qw(algorithm fptype fingerprint)})
- .' ; ' . $self->babble;
- }
-
- return $rdatastr;
-}
-
-sub rr_rdata {
- my $self = shift;
-
- if (exists $self->{"algorithm"}) {
- return pack('C2', @{$self}{qw(algorithm fptype)}) . $self->fpbin;
- }
-
- return '';
-
-}
-
-
-
-sub babble {
- my $self = shift;
-
- if ($HasBabble) {
- return bubblebabble(Digest => $self->fpbin);
- } else {
- return "";
- }
-}
-
-
-sub fpbin {
- my ($self) = @_;
-
- return $self->{'fpbin'} ||= pack('H*', $self->{'fingerprint'});
-}
-
-
-1;
-
-
-=head1 NAME
-
-Net::DNS::RR::SSHFP - DNS SSHFP resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for Delegation signer (SSHFP) resource records.
-
-=head1 METHODS
-
-In addition to the regular methods
-
-
-=head2 algorithm
-
- print "algoritm" = ", $rr->algorithm, "\n";
-
-Returns the RR's algorithm field in decimal representation
-
- 1 = RSA
- 2 = DSS
-
-
-=head2 fingerprint
-
- print "fingerprint" = ", $rr->fingerprint, "\n";
-
-Returns the SHA1 fingerprint over the label and key in hexadecimal
-representation.
-
-
-=head2 fpbin
-
- $fpbin = $rr->fpbin;
-
-Returns the fingerprint as binary material.
-
-
-=head2 fptype
-
- print "fingerprint type" . " = " . $rr->fptype ."\n";
-
-Returns the fingerprint type of the SSHFP RR.
-
-=head2 babble
-
- print $rr->babble;
-
-If Digest::BubbleBabble is available on the sytem this method returns the
-'BabbleBubble' representation of the fingerprint. The 'BabbleBubble'
-string may be handy for telephone confirmation.
-
-The 'BabbleBubble' string returned as a comment behind the RDATA when
-the string method is called.
-
-The method returns an empty string if Digest::BubbleBable is not installed.
-
-=head1 TODO
-
-=head1 ACKNOWLEDGEMENT
-
-Jakob Schlyter for code review and supplying patches.
-
-=head1 COPYRIGHT
-
-Copyright (c) 2004 RIPE NCC, Olaf Kolkman.
-
-"All rights reserved, This program is free software; you may redistribute it
-and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-draft-ietf-dnssext-delegation-signer
-
-=cut
-
-
-
-
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TKEY.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TKEY.pm
deleted file mode 100644
index 7bf838bb8e5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TKEY.pm
+++ /dev/null
@@ -1,208 +0,0 @@
-package Net::DNS::RR::TKEY;
-#
-# $Id: TKEY.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-use Digest::HMAC_MD5;
-use MIME::Base64;
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- # if we have some data then we are parsing an incoming TKEY packet
- # see RFC2930 for the packet format
- if ($self->{"rdlength"} > 0) {
- ($self->{"algorithm"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset);
-
- @{$self}{qw(inception expiration)} = unpack("\@$offset NN", $$data);
- $offset += Net::DNS::INT32SZ() + Net::DNS::INT32SZ();
-
- @{$self}{qw(inception expiration)} = unpack("\@$offset nn", $$data);
- $offset += Net::DNS::INT16SZ() + Net::DNS::INT16SZ();
-
- my ($key_len) = unpack("\@$offset n", $$data);
- $offset += Net::DNS::INT16SZ();
- $self->{"key"} = substr($$data, $offset, $key_len);
- $offset += $key_len;
-
- my ($other_len) = unpack("\@$offset n", $$data);
- $offset += Net::DNS::INT16SZ();
- $self->{"other_data"} = substr($$data, $offset, $other_len);
- $offset += $other_len;
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && ($string =~ /^(.*)$/)) {
- $self->{"key"} = $1;
- }
-
- $self->{"algorithm"} = "gss.microsoft.com";
- $self->{"inception"} = time;
- $self->{"expiration"} = time + 24*60*60;
- $self->{"mode"} = 3; # GSSAPI
- $self->{"error"} = 0;
- $self->{"other_len"} = 0;
- $self->{"other_data"} = "";
-
- return bless $self, $class;
-}
-
-sub error {
- my $self = shift;
-
- my $rcode;
- my $error = $self->{"error"};
-
- if (defined($error)) {
- $rcode = $Net::DNS::rcodesbyval{$error} || $error;
- }
-
- return $rcode;
-}
-
-sub rdatastr {
- my $self = shift;
-
- my $error = $self->error;
- $error = "UNDEFINED" unless defined $error;
-
- my $rdatastr;
-
- if (exists $self->{"algorithm"}) {
- $rdatastr = "$self->{algorithm}. $error";
- if ($self->{"other_len"} && defined($self->{"other_data"})) {
- $rdatastr .= " $self->{other_data}";
- }
- } else {
- $rdatastr = '';
- }
-
- return $rdatastr;
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- $packet->{"compnames"} = {};
- $rdata .= $packet->dn_comp($self->{"algorithm"}, 0);
- $rdata .= pack("N", $self->{"inception"});
- $rdata .= pack("N", $self->{"expiration"});
- $rdata .= pack("n", $self->{"mode"});
- $rdata .= pack("n", 0); # error
- $rdata .= pack("n", length($self->{"key"}));
- $rdata .= $self->{"key"};
- $rdata .= pack("n", length($self->{"other_data"}));
- $rdata .= $self->{"other_data"};
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::TKEY - DNS TKEY resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS TKEY resource records.
-
-=head1 METHODS
-
-=head2 algorithm
-
- $rr->algorithm($algorithm_name);
- print "algorithm = ", $rr->algorithm, "\n";
-
-Gets or sets the domain name that specifies the name of the algorithm.
-The default algorithm is gss.microsoft.com
-
-=head2 inception
-
- $rr->inception(time);
- print "inception = ", $rr->inception, "\n";
-
-Gets or sets the inception time as the number of seconds since 1 Jan 1970
-00:00:00 UTC.
-
-The default inception time is the current time.
-
-=head2 expiration
-
- $rr->expiration(time);
- print "expiration = ", $rr->expiration, "\n";
-
-Gets or sets the expiration time as the number of seconds since 1 Jan 1970
-00:00:00 UTC.
-
-The default expiration time is the current time plus 1 day.
-
-=head2 mode
-
- $rr->mode(3);
- print "mode = ", $rr->mode, "\n";
-
-Sets the key mode (see rfc2930). The default is 3 which corresponds to GSSAPI
-
-=head2 error
-
- print "error = ", $rr->error, "\n";
-
-Returns the RCODE covering TKEY processing. See RFC 2930 for details.
-
-=head2 other_len
-
- print "other len = ", $rr->other_len, "\n";
-
-Returns the length of the Other Data. Should be zero.
-
-=head2 other_data
-
- print "other data = ", $rr->other_data, "\n";
-
-Returns the Other Data. This field should be empty.
-
-=head1 BUGS
-
-This code has not been extensively tested. Use with caution on
-production systems. See http://samba.org/ftp/samba/tsig-gss/ for an
-example usage.
-
-=head1 COPYRIGHT
-
-Copyright (c) 2000 Andrew Tridgell. All rights reserved. This program
-is free software; you can redistribute it and/or modify it under
-the same terms as Perl itself.
-
-=head1 ACKNOWLEDGMENT
-
-The Net::DNS::RR::TKEY module is based on the TSIG module by Michael
-Fuhr and Chris Turbeville.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 2845
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TSIG.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TSIG.pm
deleted file mode 100644
index 844072fd170..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TSIG.pm
+++ /dev/null
@@ -1,353 +0,0 @@
-package Net::DNS::RR::TSIG;
-#
-# $Id: TSIG.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-use Digest::HMAC_MD5;
-use MIME::Base64;
-
-use constant DEFAULT_ALGORITHM => "HMAC-MD5.SIG-ALG.REG.INT";
-use constant DEFAULT_FUDGE => 300;
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-# a signing function for the HMAC-MD5 algorithm. This can be overridden using
-# the sign_func element
-sub sign_hmac {
- my ($key, $data) = @_;
-
- $key =~ s/ //g;
- $key = decode_base64($key);
-
- my $hmac = Digest::HMAC_MD5->new($key);
- $hmac->add($data);
-
- return $hmac->digest;
-}
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- ($self->{"algorithm"}, $offset) = Net::DNS::Packet::dn_expand($data, $offset);
-
- my ($time_high, $time_low) = unpack("\@$offset nN", $$data);
- $self->{"time_signed"} = $time_low; # bug
- $offset += Net::DNS::INT16SZ() + Net::DNS::INT32SZ();
-
- @{$self}{qw(fudge mac_size)} = unpack("\@$offset nn", $$data);
- $offset += Net::DNS::INT16SZ() + Net::DNS::INT16SZ();
-
- $self->{"mac"} = substr($$data, $offset, $self->{'mac_size'});
- $offset += $self->{'mac_size'};
-
- @{$self}{qw(original_id error other_len)} = unpack("\@$offset nnn", $$data);
- $offset += Net::DNS::INT16SZ() * 3;
-
- my $odata = substr($$data, $offset, $self->{'other_len'});
- my ($odata_high, $odata_low) = unpack("nN", $odata);
- $self->{"other_data"} = $odata_low;
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && ($string =~ /^(.*)$/)) {
- $self->{"key"} = $1;
- }
-
- $self->{"algorithm"} = DEFAULT_ALGORITHM;
- $self->{"time_signed"} = time;
- $self->{"fudge"} = DEFAULT_FUDGE;
- $self->{"mac_size"} = 0;
- $self->{"mac"} = "";
- $self->{"original_id"} = 0;
- $self->{"error"} = 0;
- $self->{"other_len"} = 0;
- $self->{"other_data"} = "";
- $self->{"sign_func"} = \&sign_hmac;
-
- # RFC 2845 Section 2.3
- $self->{"class"} = "ANY";
-
- return bless $self, $class;
-}
-
-sub error {
- my $self = shift;
-
- my $rcode;
- my $error = $self->{"error"};
-
- if (defined($error)) {
- $rcode = $Net::DNS::rcodesbyval{$error} || $error;
- }
-
- return $rcode;
-}
-
-sub mac_size {
- my $self = shift;
- return length(defined($self->{"mac"}) ? $self->{"mac"} : "");
-}
-
-sub mac {
- my $self = shift;
- my $mac = unpack("H*", $self->{"mac"}) if defined($self->{"mac"});
- return $mac;
-}
-
-sub rdatastr {
- my $self = shift;
-
- my $error = $self->error;
- $error = "UNDEFINED" unless defined $error;
-
- my $rdatastr;
-
- if (exists $self->{"algorithm"}) {
- $rdatastr = "$self->{algorithm}. $error";
- if ($self->{"other_len"} && defined($self->{"other_data"})) {
- $rdatastr .= " $self->{other_data}";
- }
- } else {
- $rdatastr = "";
- }
-
- return $rdatastr;
-}
-
-# return the data that needs to be signed/verified. This is useful for
-# external TSIG verification routines
-sub sig_data {
- my ($self, $packet) = @_;
- my ($newpacket, $sigdata);
-
- # XXX this is horrible. $pkt = Net::DNS::Packet->clone($packet); maybe?
- bless($newpacket = {},"Net::DNS::Packet");
- %{$newpacket} = %{$packet};
- bless($newpacket->{"header"} = {},"Net::DNS::Header");
- $newpacket->{"additional"} = [];
- %{$newpacket->{"header"}} = %{$packet->{"header"}};
- @{$newpacket->{"additional"}} = @{$packet->{"additional"}};
- shift(@{$newpacket->{"additional"}});
- $newpacket->{"header"}{"arcount"}--;
- $newpacket->{"compnames"} = {};
-
- # Add the request MAC if present (used to validate responses).
- $sigdata .= pack("H*", $self->{"request_mac"})
- if $self->{"request_mac"};
-
- $sigdata .= $newpacket->data;
-
- # Don't compress the record (key) name.
- my $tmppacket = Net::DNS::Packet->new("");
- $sigdata .= $tmppacket->dn_comp(lc($self->{"name"}), 0);
-
- $sigdata .= pack("n", $Net::DNS::classesbyname{uc($self->{"class"})});
- $sigdata .= pack("N", $self->{"ttl"});
-
- # Don't compress the algorithm name.
- $tmppacket->{"compnames"} = {};
- $sigdata .= $tmppacket->dn_comp(lc($self->{"algorithm"}), 0);
-
- $sigdata .= pack("nN", 0, $self->{"time_signed"}); # bug
- $sigdata .= pack("n", $self->{"fudge"});
- $sigdata .= pack("nn", $self->{"error"}, $self->{"other_len"});
-
- $sigdata .= pack("nN", 0, $self->{"other_data"})
- if $self->{"other_data"};
-
- return $sigdata;
-}
-
-sub rr_rdata {
- my ($self, $packet, $offset) = @_;
- my $rdata = "";
-
- if (exists $self->{"key"}) {
- # form the data to be signed
- my $sigdata = $self->sig_data($packet);
-
- # and call the signing function
- $self->{"mac"} = &{$self->{"sign_func"}}($self->{"key"}, $sigdata);
- $self->{"mac_size"} = length($self->{"mac"});
-
- # construct the signed TSIG record
- $packet->{"compnames"} = {};
- $rdata .= $packet->dn_comp($self->{"algorithm"}, 0);
-
- $rdata .= pack("nN", 0, $self->{"time_signed"}); # bug
- $rdata .= pack("nn", $self->{"fudge"}, $self->{"mac_size"});
- $rdata .= $self->{"mac"};
-
- $rdata .= pack("nnn",($packet->{"header"}->{"id"},
- $self->{"error"},
- $self->{"other_len"}));
-
- $rdata .= pack("nN", 0, $self->{"other_data"})
- if $self->{"other_data"};
- }
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::TSIG - DNS TSIG resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Transaction Signature (TSIG) resource records.
-
-=head1 METHODS
-
-=head2 algorithm
-
- $rr->algorithm($algorithm_name);
- print "algorithm = ", $rr->algorithm, "\n";
-
-Gets or sets the domain name that specifies the name of the algorithm.
-The only algorithm currently supported is HMAC-MD5.SIG-ALG.REG.INT.
-
-=head2 time_signed
-
- $rr->time_signed(time);
- print "time signed = ", $rr->time_signed, "\n";
-
-Gets or sets the signing time as the number of seconds since 1 Jan 1970
-00:00:00 UTC.
-
-The default signing time is the current time.
-
-=head2 fudge
-
- $rr->fudge(60);
- print "fudge = ", $rr->fudge, "\n";
-
-Gets or sets the "fudge", i.e., the seconds of error permitted in the
-signing time.
-
-The default fudge is 300 seconds.
-
-=head2 mac_size
-
- print "MAC size = ", $rr->mac_size, "\n";
-
-Returns the number of octets in the message authentication code (MAC).
-The programmer must call a Net::DNS::Packet object's data method
-before this will return anything meaningful.
-
-=head2 mac
-
- print "MAC = ", $rr->mac, "\n";
-
-Returns the message authentication code (MAC) as a string of hex
-characters. The programmer must call a Net::DNS::Packet object's
-data method before this will return anything meaningful.
-
-=head2 original_id
-
- $rr->original_id(12345);
- print "original ID = ", $rr->original_id, "\n";
-
-Gets or sets the original message ID.
-
-=head2 error
-
- print "error = ", $rr->error, "\n";
-
-Returns the RCODE covering TSIG processing. Common values are
-NOERROR, BADSIG, BADKEY, and BADTIME. See RFC 2845 for details.
-
-=head2 other_len
-
- print "other len = ", $rr->other_len, "\n";
-
-Returns the length of the Other Data. Should be zero unless the
-error is BADTIME.
-
-=head2 other_data
-
- print "other data = ", $rr->other_data, "\n";
-
-Returns the Other Data. This field should be empty unless the
-error is BADTIME, in which case it will contain the server's
-time as the number of seconds since 1 Jan 1970 00:00:00 UTC.
-
-=head2 sig_data
-
- my $sigdata = $tsig->sig_data($packet);
-
-Returns the packet packed according to RFC2845 in a form for signing. This
-is only needed if you want to supply an external signing function, such as is
-needed for TSIG-GSS.
-
-=head2 sign_func
-
- sub my_sign_fn($$) {
- my ($key, $data) = @_;
-
- return some_digest_algorithm($key, $data);
- }
-
- $tsig->sign_func(\&my_sign_fn);
-
-This sets the signing function to be used for this TSIG record.
-
-The default signing function is HMAC-MD5.
-
-=head1 BUGS
-
-This code is still under development. Use with caution on production
-systems.
-
-The time_signed and other_data fields should be 48-bit unsigned
-integers (RFC 2845, Sections 2.3 and 4.5.2). The current implementation
-ignores the upper 16 bits; this will cause problems for times later
-than 19 Jan 2038 03:14:07 UTC.
-
-The only builtin algorithm currently supported is
-HMAC-MD5.SIG-ALG.REG.INT. You can use other algorithms by supplying an
-appropriate sign_func.
-
-=head1 COPYRIGHT
-
-Copyright (c) 2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 ACKNOWLEDGMENT
-
-Most of the code in the Net::DNS::RR::TSIG module was contributed
-by Chris Turbeville.
-
-Support for external signing functions was added by Andrew Tridgell.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 2845
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TXT.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TXT.pm
deleted file mode 100644
index 1c8eb78e3b4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TXT.pm
+++ /dev/null
@@ -1,179 +0,0 @@
-package Net::DNS::RR::TXT;
-#
-# $Id: TXT.pm 582 2006-04-25 07:12:19Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-use Text::ParseWords;
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 582 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- my $rdlength = $self->{'rdlength'} or return bless $self, $class;
- my $end = $offset + $rdlength;
-
- while ($offset < $end) {
- my $strlen = unpack("\@$offset C", $$data);
- ++$offset;
-
- my $char_str = substr($$data, $offset, $strlen);
- $offset += $strlen;
-
- push(@{$self->{'char_str_list'}}, $char_str);
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ( $class, $self, $rdata_string ) = @_ ;
-
- bless $self, $class;
-
- $self->_build_char_str_list($rdata_string);
-
- return $self;
-}
-
-sub txtdata {
- my $self = shift;
- return join(' ', $self->char_str_list());
-}
-
-sub rdatastr {
- my $self = shift;
-
- if ($self->char_str_list) {
- return join(' ', map {
- my $str = $_;
- $str =~ s/"/\\"/g;
- qq("$str");
- } @{$self->{'char_str_list'}});
- }
-
- return '';
-}
-
-sub _build_char_str_list {
- my ($self, $rdata_string) = @_;
-
- my @words;
-
- @words= shellwords($rdata_string) if $rdata_string;
-
- $self->{'char_str_list'} = [];
-
- if (@words) {
- foreach my $string (@words) {
- $string =~ s/\\"/"/g;
- push(@{$self->{'char_str_list'}}, $string);
- }
- }
-}
-
-sub char_str_list {
- my $self = shift;
-
- if (not $self->{'char_str_list'}) {
- $self->_build_char_str_list( $self->{'txtdata'} );
- }
-
- return @{$self->{'char_str_list'}}; # unquoted strings
-}
-
-sub rr_rdata {
- my $self = shift;
- my $rdata = '';
-
- foreach my $string ($self->char_str_list) {
- $rdata .= pack("C", length $string );
- $rdata .= $string;
- }
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::TXT - DNS TXT resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS Text (TXT) resource records.
-
-=head1 METHODS
-
-=head2 txtdata
-
- print "txtdata = ", $rr->txtdata, "\n";
-
-Returns the descriptive text as a single string, regardless of actual
-number of <character-string> elements. Of questionable value. Should
-be deprecated.
-
-Use C<< $txt->rdatastr() >> or C<< $txt->char_str_list() >> instead.
-
-
-=head2 char_str_list
-
- print "Individual <character-string> list: \n\t",
- join("\n\t", $rr->char_str_list());
-
-Returns a list of the individual <character-string> elements,
-as unquoted strings. Used by TXT->rdatastr and TXT->rr_rdata.
-
-
-=head1 FEATURES
-
-The RR.pm module accepts semi-colons as a start of a comment. This is
-to allow the RR.pm to deal with RFC1035 specified zonefile format.
-
-For some applications of the TXT RR the semicolon is relevant, you
-will need to escape it on input.
-
-Also note that you should specify the several character strings
-separately. The easiest way to do so is to include the whole argument
-in single quotes and the several character strings in double
-quotes. Double quotes inside the character strings will need to be
-escaped.
-
-my $TXTrr=Net::DNS::RR->new('txt2.t.net-dns.org. 60 IN
- TXT "Test1 \" \; more stuff" "Test2"');
-
-would result in
-$TXTrr->char_str_list())[0] containing 'Test1 " ; more stuff'
-and
-$TXTrr->char_str_list())[1] containing 'Test2'
-
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-Portions Copyright (c) 2005 Olaf Kolkman (NLnet Labs)
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1035 Section 3.3.14
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/Unknown.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/Unknown.pm
deleted file mode 100644
index 5a32f1ff87f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/Unknown.pm
+++ /dev/null
@@ -1,82 +0,0 @@
-package Net::DNS::RR::Unknown;
-#
-# $Id: Unknown.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- my $length = $self->{'rdlength'};
-
- if ($length > 0) {
- $self->{'rdata'} = substr($$data, $offset,$length);
- $self->{'rdatastr'} = "\\# $length " . unpack('H*', $self->{'rdata'});
- }
-
- return bless $self, $class;
-}
-
-
-sub rdatastr {
- my $self = shift;
-
- if (exists $self->{'rdatastr'}) {
- return $self->{'rdatastr'};
- } else {
- if (exists $self->{"rdata"}){
- my $data= $self->{'rdata'};
-
- return "\\# ". length($data) . " " . unpack('H*', $data);
- }
- }
-
- return "#NO DATA";
-}
-
-
-# sub rr_rdata is inherited from RR.pm. Note that $self->{'rdata'}
-# should always be defined
-
-
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::Unknown - Unknown RR record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for dealing with unknown RR types (RFC3597)
-
-=head1 METHODS
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-Portions Copyright (c) 2003 Olaf M. Kolkman, RIPE NCC.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<Net::DNS>, L<Net::DNS::RR>, RFC 3597
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/X25.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/X25.pm
deleted file mode 100644
index 97841a836db..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/X25.pm
+++ /dev/null
@@ -1,95 +0,0 @@
-package Net::DNS::RR::X25;
-#
-# $Id: X25.pm 388 2005-06-22 10:06:05Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw(@ISA $VERSION);
-
-@ISA = qw(Net::DNS::RR);
-$VERSION = (qw$LastChangedRevision: 388 $)[1];
-
-sub new {
- my ($class, $self, $data, $offset) = @_;
-
- if ($self->{"rdlength"} > 0) {
- my ($len) = unpack("\@$offset C", $$data);
- ++$offset;
- $self->{"psdn"} = substr($$data, $offset, $len);
- $offset += $len;
- }
-
- return bless $self, $class;
-}
-
-sub new_from_string {
- my ($class, $self, $string) = @_;
-
- if ($string && $string =~ /^\s*["']?(.*?)["']?\s*$/) {
- $self->{"psdn"} = $1;
- }
-
- return bless $self, $class;
-}
-
-sub rdatastr {
- my $self = shift;
-
- return exists $self->{"psdn"}
- ? qq("$self->{psdn}")
- : '';
-}
-
-sub rr_rdata {
- my $self = shift;
- my $rdata = "";
-
- if (exists $self->{"psdn"}) {
- $rdata .= pack("C", length $self->{"psdn"});
- $rdata .= $self->{"psdn"};
- }
-
- return $rdata;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Net::DNS::RR::X25 - DNS X25 resource record
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::RR>;
-
-=head1 DESCRIPTION
-
-Class for DNS X25 resource records.
-
-=head1 METHODS
-
-=head2 psdn
-
- print "psdn = ", $rr->psdn, "\n";
-
-Returns the PSDN address.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-RFC 1183 Section 3.1
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver.pm
deleted file mode 100644
index c64d472445b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver.pm
+++ /dev/null
@@ -1,750 +0,0 @@
-package Net::DNS::Resolver;
-#
-# $Id: Resolver.pm 614 2006-09-25 08:12:29Z olaf $
-#
-
-use strict;
-use vars qw($VERSION @ISA);
-
-$VERSION = (qw$LastChangedRevision: 614 $)[1];
-
-BEGIN {
- if ($^O eq 'MSWin32') {
- require Net::DNS::Resolver::Win32;
- @ISA = qw(Net::DNS::Resolver::Win32);
- } elsif ($^O eq 'cygwin') {
- require Net::DNS::Resolver::Cygwin;
- @ISA = qw(Net::DNS::Resolver::Cygwin);
- } else {
- require Net::DNS::Resolver::UNIX;
- @ISA = qw(Net::DNS::Resolver::UNIX);
- }
-}
-
-__PACKAGE__->init();
-
-1;
-
-__END__
-
-=head1 NAME
-
-Net::DNS::Resolver - DNS resolver class
-
-=head1 SYNOPSIS
-
- use Net::DNS;
-
- my $res = Net::DNS::Resolver->new;
-
- # Perform a lookup, using the searchlist if appropriate.
- my $answer = $res->search('example.com');
-
- # Perform a lookup, without the searchlist
- my $answer = $res->query('example.com', 'MX');
-
- # Perform a lookup, without pre or post-processing
- my $answer = $res->send('example.com', 'MX', 'CH');
-
- # Send a prebuilt packet
- my $packet = Net::DNS::Packet->new(...);
- my $answer = $res->send($packet);
-
-=head1 DESCRIPTION
-
-Instances of the C<Net::DNS::Resolver> class represent resolver objects.
-A program can have multiple resolver objects, each maintaining its
-own state information such as the nameservers to be queried, whether
-recursion is desired, etc.
-
-=head1 METHODS
-
-=head2 new
-
- # Use the system defaults
- my $res = Net::DNS::Resolver->new;
-
- # Use my own configuration file
- my $res = Net::DNS::Resolver->new(config_file => '/my/dns.conf');
-
- # Set options in the constructor
- my $res = Net::DNS::Resolver->new(
- nameservers => [qw(10.1.1.128 10.1.2.128)],
- recurse => 0,
- debug => 1,
- );
-
-Returns a resolver object. If given no arguments, C<new()> returns an
-object configured to your system's defaults. On UNIX systems the
-defaults are read from the following files, in the order indicated:
-
- /etc/resolv.conf
- $HOME/.resolv.conf
- ./.resolv.conf
-
-The following keywords are recognized in resolver configuration files:
-
-=over 4
-
-=item domain
-
-The default domain.
-
-=item search
-
-A space-separated list of domains to put in the search list.
-
-=item nameserver
-
-A space-separated list of nameservers to query.
-
-=back
-
-Files except for F</etc/resolv.conf> must be owned by the effective
-userid running the program or they won't be read. In addition, several
-environment variables can also contain configuration information; see
-L</ENVIRONMENT>.
-
-On Windows systems, an attempt is made to determine the system defaults
-using the registry. This is still a work in progress; systems with many
-dynamically configured network interfaces may confuse Net::DNS.
-
-You can include a configuration file of your own when creating a
-resolver object:
-
- # Use my own configuration file
- my $res = Net::DNS::Resolver->new(config_file => '/my/dns.conf');
-
-This is supported on both UNIX and Windows. Values pulled from a custom
-configuration file override the the system's defaults, but can still be
-overridden by the other arguments to new().
-
-Explicit arguments to new override both the system's defaults and the
-values of the custom configuration file, if any. The following
-arguments to new() are supported:
-
-=over 4
-
-=item nameservers
-
-An array reference of nameservers to query.
-
-=item searchlist
-
-An array reference of domains.
-
-=item recurse
-
-=item debug
-
-=item domain
-
-=item port
-
-=item srcaddr
-
-=item srcport
-
-=item tcp_timeout
-
-=item udp_timeout
-
-=item retrans
-
-=item retry
-
-=item usevc
-
-=item stayopen
-
-=item igntc
-
-=item defnames
-
-=item dnsrch
-
-=item persistent_tcp
-
-=item persistent_udp
-
-=item dnssec
-
-=back
-
-For more information on any of these options, please consult the method
-of the same name.
-
-=head2 search
-
- $packet = $res->search('mailhost');
- $packet = $res->search('mailhost.example.com');
- $packet = $res->search('192.168.1.1');
- $packet = $res->search('example.com', 'MX');
- $packet = $res->search('user.passwd.example.com', 'TXT', 'HS');
-
-Performs a DNS query for the given name, applying the searchlist
-if appropriate. The search algorithm is as follows:
-
-=over 4
-
-=item 1.
-
-If the name contains at least one dot, try it as is.
-
-=item 2.
-
-If the name doesn't end in a dot then append each item in
-the search list to the name. This is only done if B<dnsrch>
-is true.
-
-=item 3.
-
-If the name doesn't contain any dots, try it as is.
-
-=back
-
-The record type and class can be omitted; they default to A and
-IN. If the name looks like an IP address (4 dot-separated numbers),
-then an appropriate PTR query will be performed.
-
-Returns a "Net::DNS::Packet" object, or "undef" if no answers were
-found. If you need to examine the response packet whether it contains
-any answers or not, use the send() method instead.
-
-=head2 query
-
- $packet = $res->query('mailhost');
- $packet = $res->query('mailhost.example.com');
- $packet = $res->query('192.168.1.1');
- $packet = $res->query('example.com', 'MX');
- $packet = $res->query('user.passwd.example.com', 'TXT', 'HS');
-
-Performs a DNS query for the given name; the search list is not
-applied. If the name doesn't contain any dots and B<defnames>
-is true then the default domain will be appended.
-
-The record type and class can be omitted; they default to A and
-IN. If the name looks like an IP address (IPv4 or IPv6),
-then an appropriate PTR query will be performed.
-
-Returns a "Net::DNS::Packet" object, or "undef" if no answers were
-found. If you need to examine the response packet whether it contains
-any answers or not, use the send() method instead.
-
-=head2 send
-
- $packet = $res->send($packet_object);
- $packet = $res->send('mailhost.example.com');
- $packet = $res->send('example.com', 'MX');
- $packet = $res->send('user.passwd.example.com', 'TXT', 'HS');
-
-Performs a DNS query for the given name. Neither the searchlist
-nor the default domain will be appended.
-
-The argument list can be either a C<Net::DNS::Packet> object or a list
-of strings. The record type and class can be omitted; they default to
-A and IN. If the name looks like an IP address (Ipv4 or IPv6),
-then an appropriate PTR query will be performed.
-
-Returns a C<Net::DNS::Packet> object whether there were any answers or not.
-Use C<< $packet->header->ancount >> or C<< $packet->answer >> to find out
-if there were any records in the answer section. Returns C<undef> if there
-was an error.
-
-=head2 axfr
-
- @zone = $res->axfr;
- @zone = $res->axfr('example.com');
- @zone = $res->axfr('passwd.example.com', 'HS');
-
-Performs a zone transfer from the first nameserver listed in C<nameservers>.
-If the zone is omitted, it defaults to the first zone listed in the resolver's
-search list. If the class is omitted, it defaults to IN.
-
-Returns a list of C<Net::DNS::RR> objects, or C<undef> if the zone
-transfer failed.
-
-The redundant SOA record that terminates the zone transfer is not
-returned to the caller.
-
-See also L</axfr_start> and L</axfr_next>.
-
-Here's an example that uses a timeout:
-
- $res->tcp_timeout(10);
- my @zone = $res->axfr('example.com');
-
- if (@zone) {
- foreach my $rr (@zone) {
- $rr->print;
- }
- } else {
- print 'Zone transfer failed: ', $res->errorstring, "\n";
- }
-
-=head2 axfr_start
-
- $res->axfr_start;
- $res->axfr_start('example.com');
- $res->axfr_start('example.com', 'HS');
-
-Starts a zone transfer from the first nameserver listed in C<nameservers>.
-If the zone is omitted, it defaults to the first zone listed in the resolver's
-search list. If the class is omitted, it defaults to IN.
-
-B<IMPORTANT>:
-
-This method currently returns the C<IO::Socket::INET> object that will
-be used for reading, or C<undef> on error. DO NOT DEPEND ON C<axfr_start()>
-returning a socket object. THIS MIGHT CHANGE in future releases.
-
-Use C<axfr_next> to read the zone records one at a time.
-
-=head2 axfr_next
-
- $res->axfr_start('example.com');
-
- while (my $rr = $res->axfr_next) {
- $rr->print;
- }
-
-Reads records from a zone transfer one at a time.
-
-Returns C<undef> at the end of the zone transfer. The redundant
-SOA record that terminates the zone transfer is not returned.
-
-See also L</axfr>.
-
-=head2 nameservers
-
- @nameservers = $res->nameservers;
- $res->nameservers('192.168.1.1', '192.168.2.2', '192.168.3.3');
-
-Gets or sets the nameservers to be queried.
-
-Also see the IPv6 transport notes below
-
-=head2 print
-
- $res->print;
-
-Prints the resolver state on the standard output.
-
-=head2 string
-
- print $res->string;
-
-Returns a string representation of the resolver state.
-
-=head2 searchlist
-
- @searchlist = $res->searchlist;
- $res->searchlist('example.com', 'a.example.com', 'b.example.com');
-
-Gets or sets the resolver search list.
-
-=head2 port
-
- print 'sending queries to port ', $res->port, "\n";
- $res->port(9732);
-
-Gets or sets the port to which we send queries. This can be useful
-for testing a nameserver running on a non-standard port. The
-default is port 53.
-
-=head2 srcport
-
- print 'sending queries from port ', $res->srcport, "\n";
- $res->srcport(5353);
-
-Gets or sets the port from which we send queries. The default is 0,
-meaning any port.
-
-=head2 srcaddr
-
- print 'sending queries from address ', $res->srcaddr, "\n";
- $res->srcaddr('192.168.1.1');
-
-Gets or sets the source address from which we send queries. Convenient
-for forcing queries out a specific interfaces on a multi-homed host.
-The default is 0.0.0.0, meaning any local address.
-
-=head2 bgsend
-
- $socket = $res->bgsend($packet_object) || die " $res->errorstring";
-
- $socket = $res->bgsend('mailhost.example.com');
- $socket = $res->bgsend('example.com', 'MX');
- $socket = $res->bgsend('user.passwd.example.com', 'TXT', 'HS');
-
-
-
-Performs a background DNS query for the given name, i.e., sends a
-query packet to the first nameserver listed in C<< $res->nameservers >>
-and returns immediately without waiting for a response. The program
-can then perform other tasks while waiting for a response from the
-nameserver.
-
-The argument list can be either a C<Net::DNS::Packet> object or a list
-of strings. The record type and class can be omitted; they default to
-A and IN. If the name looks like an IP address (4 dot-separated numbers),
-then an appropriate PTR query will be performed.
-
-Returns an C<IO::Socket::INET> object or C<undef> on error in which
-case the reason for failure can be found through a call to the
-errorstring method.
-
-The program must determine when the socket is ready for reading and
-call C<< $res->bgread >> to get the response packet. You can use C<<
-$res->bgisready >> or C<IO::Select> to find out if the socket is ready
-before reading it.
-
-=head2 bgread
-
- $packet = $res->bgread($socket);
- undef $socket;
-
-Reads the answer from a background query (see L</bgsend>). The argument
-is an C<IO::Socket> object returned by C<bgsend>.
-
-Returns a C<Net::DNS::Packet> object or C<undef> on error.
-
-The programmer should close or destroy the socket object after reading it.
-
-=head2 bgisready
-
- $socket = $res->bgsend('foo.example.com');
- until ($res->bgisready($socket)) {
- # do some other processing
- }
- $packet = $res->bgread($socket);
- $socket = undef;
-
-Determines whether a socket is ready for reading. The argument is
-an C<IO::Socket> object returned by C<< $res->bgsend >>.
-
-Returns true if the socket is ready, false if not.
-
-=head2 tsig
-
- my $tsig = $res->tsig;
-
- $res->tsig(Net::DNS::RR->new("$key_name TSIG $key"));
-
- $tsig = Net::DNS::RR->new("$key_name TSIG $key");
- $tsig->fudge(60);
- $res->tsig($tsig);
-
- $res->tsig($key_name, $key);
-
- $res->tsig(0);
-
-Get or set the TSIG record used to automatically sign outgoing
-queries and updates. Call with an argument of 0 or '' to turn off
-automatic signing.
-
-The default resolver behavior is not to sign any packets. You must
-call this method to set the key if you'd like the resolver to sign
-packets automatically.
-
-You can also sign packets manually -- see the C<Net::DNS::Packet>
-and C<Net::DNS::Update> manual pages for examples. TSIG records
-in manually-signed packets take precedence over those that the
-resolver would add automatically.
-
-=head2 retrans
-
- print 'retrans interval: ', $res->retrans, "\n";
- $res->retrans(3);
-
-Get or set the retransmission interval. The default is 5.
-
-=head2 retry
-
- print 'number of tries: ', $res->retry, "\n";
- $res->retry(2);
-
-Get or set the number of times to try the query. The default is 4.
-
-=head2 recurse
-
- print 'recursion flag: ', $res->recurse, "\n";
- $res->recurse(0);
-
-Get or set the recursion flag. If this is true, nameservers will
-be requested to perform a recursive query. The default is true.
-
-=head2 defnames
-
- print 'defnames flag: ', $res->defnames, "\n";
- $res->defnames(0);
-
-Get or set the defnames flag. If this is true, calls to B<query> will
-append the default domain to names that contain no dots. The default
-is true.
-
-=head2 dnsrch
-
- print 'dnsrch flag: ', $res->dnsrch, "\n";
- $res->dnsrch(0);
-
-Get or set the dnsrch flag. If this is true, calls to B<search> will
-apply the search list. The default is true.
-
-=head2 debug
-
- print 'debug flag: ', $res->debug, "\n";
- $res->debug(1);
-
-Get or set the debug flag. If set, calls to B<search>, B<query>,
-and B<send> will print debugging information on the standard output.
-The default is false.
-
-=head2 usevc
-
- print 'usevc flag: ', $res->usevc, "\n";
- $res->usevc(1);
-
-Get or set the usevc flag. If true, then queries will be performed
-using virtual circuits (TCP) instead of datagrams (UDP). The default
-is false.
-
-=head2 tcp_timeout
-
- print 'TCP timeout: ', $res->tcp_timeout, "\n";
- $res->tcp_timeout(10);
-
-Get or set the TCP timeout in seconds. A timeout of C<undef> means
-indefinite. The default is 120 seconds (2 minutes).
-
-=head2 udp_timeout
-
- print 'UDP timeout: ', $res->udp_timeout, "\n";
- $res->udp_timeout(10);
-
-Get or set the UDP timeout in seconds. A timeout of C<undef> means
-the retry and retrans settings will be just utilized to perform the
-retries until they are exhausted. The default is C<undef>.
-
-=head2 persistent_tcp
-
- print 'Persistent TCP flag: ', $res->persistent_tcp, "\n";
- $res->persistent_tcp(1);
-
-Get or set the persistent TCP setting. If set to true, Net::DNS
-will keep a TCP socket open for each host:port to which it connects.
-This is useful if you're using TCP and need to make a lot of queries
-or updates to the same nameserver.
-
-This option defaults to false unless you're running under a
-SOCKSified Perl, in which case it defaults to true.
-
-=head2 persistent_udp
-
- print 'Persistent UDP flag: ', $res->persistent_udp, "\n";
- $res->persistent_udp(1);
-
-Get or set the persistent UDP setting. If set to true, Net::DNS
-will keep a single UDP socket open for all queries.
-This is useful if you're using UDP and need to make a lot of queries
-or updates.
-
-=head2 igntc
-
- print 'igntc flag: ', $res->igntc, "\n";
- $res->igntc(1);
-
-Get or set the igntc flag. If true, truncated packets will be
-ignored. If false, truncated packets will cause the query to
-be retried using TCP. The default is false.
-
-=head2 errorstring
-
- print 'query status: ', $res->errorstring, "\n";
-
-Returns a string containing the status of the most recent query.
-
-=head2 answerfrom
-
- print 'last answer was from: ', $res->answerfrom, "\n";
-
-Returns the IP address from which we received the last answer in
-response to a query.
-
-=head2 answersize
-
- print 'size of last answer: ', $res->answersize, "\n";
-
-Returns the size in bytes of the last answer we received in
-response to a query.
-
-
-=head2 dnssec
-
- print "dnssec flag: ", $res->dnssec, "\n";
- $res->dnssec(0);
-
-Enabled DNSSEC this will set the checking disabled flag in the query header
-and add EDNS0 data as in RFC2671 and RFC3225
-
-When set to true the answer and additional section of queries from
-secured zones will contain DNSKEY, NSEC and RRSIG records.
-
-Setting calling the dnssec method with a non-zero value will set the
-UDP packet size to the default value of 2048. If that is to small or
-to big for your environement you should call the udppacketsize()
-method immeditatly after.
-
- $res->dnssec(1); # turns on DNSSEC and sets udp packetsize to 2048
- $res->udppacketsize(1028); # lowers the UDP pakcet size
-
-The method will Croak::croak with the message "You called the
-Net::DNS::Resolver::dnssec() method but do not have Net::DNS::SEC
-installed at ..." if you call it without Net::DNS::SEC being in your
-@INC path.
-
-
-
-=head2 cdflag
-
- print "checking disabled flag: ", $res->dnssec, "\n";
- $res->dnssec(1);
- $res->cdflag(1);
-
-Sets or gets the CD bit for a dnssec query. This bit is always zero
-for non dnssec queries. When the dnssec is enabled the flag can be set
-to 1.
-
-=head2 udppacketsize
-
- print "udppacketsize: ", $res->udppacketsize, "\n";
- $res->udppacketsize(2048);
-
-udppacketsize will set or get the packet size. If set to a value greater than
-Net::DNS::PACKETSZ() an EDNS extension will be added indicating suppport for MTU path
-recovery.
-
-Default udppacketsize is Net::DNS::PACKETSZ() (512)
-
-=head1 CUSTOMIZING
-
-Net::DNS::Resolver is actually an empty subclass. At compile time a
-super class is chosen based on the current platform. A side benefit of
-this allows for easy modification of the methods in Net::DNS::Resolver.
-You simply add a method to the namespace!
-
-For example, if we wanted to cache lookups:
-
- package Net::DNS::Resolver;
-
- my %cache;
-
- sub search {
- my ($self, @args) = @_;
-
- return $cache{@args} ||= $self->SUPER::search(@args);
- }
-
-
-=head1 IPv6 transport
-
-The Net::DNS::Resolver library will use IPv6 transport if the
-appropriate libraries (Socket6 and IO::Socket::INET6) are available
-and the address the server tries to connect to is an IPv6 address.
-
-The print() will method will report if IPv6 transport is available.
-
-You can use the force_v4() method with a non-zero argument
-to force IPv4 transport.
-
-The nameserver() method has IPv6 dependend behavior. If IPv6 is not
-available or IPv4 transport has been forced the nameserver() method
-will only return IPv4 addresses.
-
-For example
-
- $res->nameservers('192.168.1.1', '192.168.2.2', '2001:610:240:0:53:0:0:3');
- $res->force_v4(1);
- print join (" ",$res->nameserver());
-
-Will print: 192.168.1.1 192.168.2.2
-
-
-
-
-=head1 ENVIRONMENT
-
-The following environment variables can also be used to configure
-the resolver:
-
-=head2 RES_NAMESERVERS
-
- # Bourne Shell
- RES_NAMESERVERS="192.168.1.1 192.168.2.2 192.168.3.3"
- export RES_NAMESERVERS
-
- # C Shell
- setenv RES_NAMESERVERS "192.168.1.1 192.168.2.2 192.168.3.3"
-
-A space-separated list of nameservers to query.
-
-=head2 RES_SEARCHLIST
-
- # Bourne Shell
- RES_SEARCHLIST="example.com sub1.example.com sub2.example.com"
- export RES_SEARCHLIST
-
- # C Shell
- setenv RES_SEARCHLIST "example.com sub1.example.com sub2.example.com"
-
-A space-separated list of domains to put in the search list.
-
-=head2 LOCALDOMAIN
-
- # Bourne Shell
- LOCALDOMAIN=example.com
- export LOCALDOMAIN
-
- # C Shell
- setenv LOCALDOMAIN example.com
-
-The default domain.
-
-=head2 RES_OPTIONS
-
- # Bourne Shell
- RES_OPTIONS="retrans:3 retry:2 debug"
- export RES_OPTIONS
-
- # C Shell
- setenv RES_OPTIONS "retrans:3 retry:2 debug"
-
-A space-separated list of resolver options to set. Options that
-take values are specified as I<option>:I<value>.
-
-=head1 BUGS
-
-Error reporting and handling needs to be improved.
-
-The current implementation supports TSIG only on outgoing packets.
-No validation of server replies is performed.
-
-bgsend does not honor the usevc flag and only uses UDP for transport.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-Portions Copyright (c) 2005 Olaf M. Kolkman, NLnet Labs.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Packet>, L<Net::DNS::Update>,
-L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
-L<resolver(5)>, RFC 1035, RFC 1034 Section 4.3.5
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Base.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Base.pm
deleted file mode 100644
index 09778d9d597..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Base.pm
+++ /dev/null
@@ -1,1579 +0,0 @@
-package Net::DNS::Resolver::Base;
-#
-# $Id: Base.pm 704 2008-02-06 21:30:59Z olaf $
-#
-
-use strict;
-
-BEGIN {
- eval { require bytes; }
-}
-
-use vars qw(
- $VERSION
- $has_inet6
- $AUTOLOAD
-);
-
-use Carp;
-use Config ();
-use Socket;
-use IO::Socket;
-use IO::Select;
-
-use Net::DNS;
-use Net::DNS::Packet;
-
-$VERSION = (qw$LastChangedRevision: 704 $)[1];
-
-
-#
-# A few implementation notes wrt IPv6 support.
-#
-# In general we try to be gracious to those stacks that do not have ipv6 support.
-# We test that by means of the availability of Socket6 and IO::Socket::INET6
-#
-
-
-# We have chosen to not use mapped IPv4 addresses, there seem to be
-# issues with this; as a result we have to use sockets for both
-# family types. To be able to deal with persistent sockets and
-# sockets of both family types we use an array that is indexed by the
-# socketfamily type to store the socket handlers. I think this could
-# be done more efficiently.
-
-
-# inet_pton is not available on WIN32, so we only use the getaddrinfo
-# call to translate IP addresses to socketaddress
-
-
-
-# Set the $force_inet4_only variable inside the BEGIN block to force
-# not to use the IPv6 stuff. You can use this for compatibility
-# test. We do not see a need to do this from the calling code.
-
-
-# Olaf Kolkman, RIPE NCC, December 2003.
-
-
-BEGIN {
- if (
- eval {require Socket6;} &&
- # INET6 prior to 2.01 will not work; sorry.
- eval {require IO::Socket::INET6; IO::Socket::INET6->VERSION("2.00");}
- ) {
- import Socket6;
- $has_inet6=1;
- }else{
- $has_inet6=0;
- }
- }
-
-
-
-
-
-
-#
-# Set up a closure to be our class data.
-#
-{
- my %defaults = (
- nameservers => ['127.0.0.1'],
- port => 53,
- srcaddr => '0.0.0.0',
- srcport => 0,
- domain => '',
- searchlist => [],
- retrans => 5,
- retry => 4,
- usevc => 0,
- stayopen => 0,
- igntc => 0,
- recurse => 1,
- defnames => 1,
- dnsrch => 1,
- debug => 0,
- errorstring => 'unknown error or no error',
- tsig_rr => undef,
- answerfrom => '',
- querytime => undef,
- tcp_timeout => 120,
- udp_timeout => undef,
- axfr_sel => undef,
- axfr_rr => [],
- axfr_soa_count => 0,
- persistent_tcp => 0,
- persistent_udp => 0,
- dnssec => 0,
- udppacketsize => 0, # The actual default is lower bound by Net::DNS::PACKETSZ
- cdflag => 1, # this is only used when {dnssec} == 1
- force_v4 => 0, # force_v4 is only relevant when we have
- # v6 support available
- ignqrid => 0, # normally packets with non-matching ID
- # or with the qr bit of are thrown away
- # in 'ignqrid' these packets are
- # are accepted.
- # USE WITH CARE, YOU ARE VULNARABLE TO
- # SPOOFING IF SET.
- # This is may be a temporary feature
- );
-
- # If we're running under a SOCKSified Perl, use TCP instead of UDP
- # and keep the sockets open.
- if ($Config::Config{'usesocks'}) {
- $defaults{'usevc'} = 1;
- $defaults{'persistent_tcp'} = 1;
- }
-
- sub defaults { \%defaults }
-}
-
-# These are the attributes that we let the user specify in the new().
-# We also deprecate access to these with AUTOLOAD (some may be useful).
-my %public_attr = map { $_ => 1 } qw(
- nameservers
- port
- srcaddr
- srcport
- domain
- searchlist
- retrans
- retry
- usevc
- stayopen
- igntc
- recurse
- defnames
- dnsrch
- debug
- tcp_timeout
- udp_timeout
- persistent_tcp
- persistent_udp
- dnssec
- ignqrid
-);
-
-
-sub new {
- my $class = shift;
- my $self = bless({ %{$class->defaults} }, $class);
-
- $self->_process_args(@_) if @_ and @_ % 2 == 0;
- return $self;
-}
-
-
-
-sub _process_args {
- my ($self, %args) = @_;
-
- if ($args{'config_file'}) {
- $self->read_config_file($args{'config_file'});
- }
-
- foreach my $attr (keys %args) {
- next unless $public_attr{$attr};
-
- if ($attr eq 'nameservers' || $attr eq 'searchlist') {
-
- die "Net::DNS::Resolver->new(): $attr must be an arrayref\n" unless
- defined($args{$attr}) && UNIVERSAL::isa($args{$attr}, 'ARRAY');
-
- }
-
- if ($attr eq 'nameservers') {
- $self->nameservers(@{$args{$attr}});
- } else {
- $self->{$attr} = $args{$attr};
- }
- }
-
-
-}
-
-
-
-
-
-#
-# Some people have reported that Net::DNS dies because AUTOLOAD picks up
-# calls to DESTROY.
-#
-sub DESTROY {}
-
-
-sub read_env {
- my ($invocant) = @_;
- my $config = ref $invocant ? $invocant : $invocant->defaults;
-
- $config->{'nameservers'} = [ $ENV{'RES_NAMESERVERS'} =~ m/(\S+)/g ]
- if exists $ENV{'RES_NAMESERVERS'};
-
- $config->{'searchlist'} = [ split(' ', $ENV{'RES_SEARCHLIST'}) ]
- if exists $ENV{'RES_SEARCHLIST'};
-
- $config->{'domain'} = $ENV{'LOCALDOMAIN'}
- if exists $ENV{'LOCALDOMAIN'};
-
- if (exists $ENV{'RES_OPTIONS'}) {
- foreach ($ENV{'RES_OPTIONS'} =~ m/(\S+)/g) {
- my ($name, $val) = split(m/:/);
- $val = 1 unless defined $val;
- $config->{$name} = $val if exists $config->{$name};
- }
- }
-}
-
-#
-# $class->read_config_file($filename) or $self->read_config_file($file)
-#
-sub read_config_file {
- my ($invocant, $file) = @_;
- my $config = ref $invocant ? $invocant : $invocant->defaults;
-
-
- my @ns;
- my @searchlist;
-
- local *FILE;
-
- open(FILE, "< $file") or croak "Could not open $file: $!";
- local $/ = "\n";
- local $_;
-
- while (<FILE>) {
- s/\s*[;#].*//;
-
- # Skip ahead unless there's non-whitespace characters
- next unless m/\S/;
-
- SWITCH: {
- /^\s*domain\s+(\S+)/ && do {
- $config->{'domain'} = $1;
- last SWITCH;
- };
-
- /^\s*search\s+(.*)/ && do {
- push(@searchlist, split(' ', $1));
- last SWITCH;
- };
-
- /^\s*nameserver\s+(.*)/ && do {
- foreach my $ns (split(' ', $1)) {
- $ns = '0.0.0.0' if $ns eq '0';
-# next if $ns =~ m/:/; # skip IPv6 nameservers
- push @ns, $ns;
- }
- last SWITCH;
- };
- }
- }
- close FILE || croak "Could not close $file: $!";
-
- $config->{'nameservers'} = [ @ns ] if @ns;
- $config->{'searchlist'} = [ @searchlist ] if @searchlist;
- }
-
-
-
-
-sub print { print $_[0]->string }
-
-sub string {
- my $self = shift;
-
- my $timeout = defined $self->{'tcp_timeout'} ? $self->{'tcp_timeout'} : 'indefinite';
- my $hasINET6line= $has_inet6 ?" (IPv6 Transport is available)":" (IPv6 Transport is not available)";
- my $ignqrid=$self->{'ignqrid'} ? "\n;; ACCEPTING ALL PACKETS (IGNQRID)":"";
- return <<END;
-;; RESOLVER state:
-;; domain = $self->{domain}
-;; searchlist = @{$self->{searchlist}}
-;; nameservers = @{$self->{nameservers}}
-;; port = $self->{port}
-;; srcport = $self->{srcport}
-;; srcaddr = $self->{srcaddr}
-;; tcp_timeout = $timeout
-;; retrans = $self->{retrans} retry = $self->{retry}
-;; usevc = $self->{usevc} stayopen = $self->{stayopen} igntc = $self->{igntc}
-;; defnames = $self->{defnames} dnsrch = $self->{dnsrch}
-;; recurse = $self->{recurse} debug = $self->{debug}
-;; force_v4 = $self->{force_v4} $hasINET6line $ignqrid
-END
-
-}
-
-
-sub searchlist {
- my $self = shift;
- $self->{'searchlist'} = [ @_ ] if @_;
- return @{$self->{'searchlist'}};
-}
-
-sub nameservers {
- my $self = shift;
-
- if (@_) {
- my @a;
- foreach my $ns (@_) {
- next unless defined($ns);
- if ( _ip_is_ipv4($ns) ) {
- push @a, ($ns eq '0') ? '0.0.0.0' : $ns;
-
- } elsif ( _ip_is_ipv6($ns) ) {
- push @a, ($ns eq '0') ? '::0' : $ns;
-
- } else {
- my $defres = Net::DNS::Resolver->new;
- my @names;
-
- if ($ns !~ /\./) {
- if (defined $defres->searchlist) {
- @names = map { $ns . '.' . $_ }
- $defres->searchlist;
- } elsif (defined $defres->domain) {
- @names = ($ns . '.' . $defres->domain);
- }
- }
- else {
- @names = ($ns);
- }
-
- my $packet = $defres->search($ns);
- $self->errorstring($defres->errorstring);
- if (defined($packet)) {
- push @a, cname_addr([@names], $packet);
- }
- }
- }
-
-
- $self->{'nameservers'} = [ @a ];
- }
- my @returnval;
- foreach my $ns (@{$self->{'nameservers'}}){
- next if _ip_is_ipv6($ns) && (! $has_inet6 || $self->force_v4() );
- push @returnval, $ns;
- }
-
- return @returnval;
-}
-
-sub nameserver { &nameservers }
-
-sub cname_addr {
- my $names = shift;
- my $packet = shift;
- my @addr;
- my @names = @{$names};
-
- my $oct2 = '(?:2[0-4]\d|25[0-5]|[0-1]?\d\d|\d)';
-
- RR: foreach my $rr ($packet->answer) {
- next RR unless grep {$rr->name} @names;
-
- if ($rr->type eq 'CNAME') {
- push(@names, $rr->cname);
- } elsif ($rr->type eq 'A') {
- # Run a basic taint check.
- next RR unless $rr->address =~ m/^($oct2\.$oct2\.$oct2\.$oct2)$/o;
-
- push(@addr, $1)
- }
- }
-
-
- return @addr;
-}
-
-
-# if ($self->{"udppacketsize"} > Net::DNS::PACKETSZ()
-# then we use EDNS and $self->{"udppacketsize"}
-# should be taken as the maximum packet_data length
-sub _packetsz {
- my ($self) = @_;
-
- return $self->{"udppacketsize"} > Net::DNS::PACKETSZ() ?
- $self->{"udppacketsize"} : Net::DNS::PACKETSZ();
-}
-
-sub _reset_errorstring {
- my ($self) = @_;
-
- $self->errorstring($self->defaults->{'errorstring'});
-}
-
-
-sub search {
- my $self = shift;
- my $name = shift || '.';
-
- my $defdomain = $self->{domain} if $self->{defnames};
- my @searchlist = @{$self->{searchlist}} if $self->{dnsrch};
-
- # resolve name by trying as absolute name, then applying searchlist
- my @list = (undef, @searchlist);
- for ($name) {
- # resolve name with no dots or colons by applying searchlist (or domain)
- @list = @searchlist ? @searchlist : ($defdomain) unless m/[:.]/;
- # resolve name with trailing dot as absolute name
- @list = (undef) if m/\.$/;
- }
-
- foreach my $suffix ( @list ) {
- my $fqname = join '.', $name, ($suffix || ());
-
- print ';; search(', join(', ', $fqname, @_), ")\n" if $self->{debug};
-
- my $packet = $self->send($fqname, @_) || return undef;
-
- next unless ($packet->header->rcode eq "NOERROR"); # something
- #useful happened
- return $packet if $packet->header->ancount; # answer found
- next unless $packet->header->qdcount; # question empty?
-
- last if ($packet->question)[0]->qtype eq 'PTR'; # abort search if IP
- }
- return undef;
-}
-
-
-sub query {
- my $self = shift;
- my $name = shift || '.';
-
- # resolve name containing no dots or colons by appending domain
- my @suffix = ($self->{domain} || ()) if $name !~ m/[:.]/ and $self->{defnames};
-
- my $fqname = join '.', $name, @suffix;
-
- print ';; query(', join(', ', $fqname, @_), ")\n" if $self->{debug};
-
- my $packet = $self->send($fqname, @_) || return undef;
-
- return $packet if $packet->header->ancount; # answer found
- return undef;
-}
-
-
-sub send {
- my $self = shift;
- my $packet = $self->make_query_packet(@_);
- my $packet_data = $packet->data;
-
-
- my $ans;
-
- if ($self->{'usevc'} || length $packet_data > $self->_packetsz) {
-
- $ans = $self->send_tcp($packet, $packet_data);
-
- } else {
- $ans = $self->send_udp($packet, $packet_data);
-
- if ($ans && $ans->header->tc && !$self->{'igntc'}) {
- print ";;\n;; packet truncated: retrying using TCP\n" if $self->{'debug'};
- $ans = $self->send_tcp($packet, $packet_data);
- }
- }
-
- return $ans;
-}
-
-
-
-sub send_tcp {
- my ($self, $packet, $packet_data) = @_;
- my $lastanswer;
-
- my $srcport = $self->{'srcport'};
- my $srcaddr = $self->{'srcaddr'};
- my $dstport = $self->{'port'};
-
- unless ( $self->nameservers()) {
- $self->errorstring('no nameservers');
- print ";; ERROR: send_tcp: no nameservers\n" if $self->{'debug'};
- return;
- }
-
- $self->_reset_errorstring;
-
-
- NAMESERVER: foreach my $ns ($self->nameservers()) {
-
- print ";; attempt to send_tcp($ns:$dstport) (src port = $srcport)\n"
- if $self->{'debug'};
-
-
-
- my $sock;
- my $sock_key = "$ns:$dstport";
- my ($host,$port);
- if ($self->persistent_tcp && $self->{'sockets'}[AF_UNSPEC]{$sock_key}) {
- $sock = $self->{'sockets'}[AF_UNSPEC]{$sock_key};
- print ";; using persistent socket\n"
- if $self->{'debug'};
- unless ($sock->connected){
- print ";; persistent socket disconnected (trying to reconnect)"
- if $self->{'debug'};
- undef($sock);
- $sock= $self->_create_tcp_socket($ns);
- next NAMESERVER unless $sock;
- $self->{'sockets'}[AF_UNSPEC]{$sock_key} = $sock;
- }
-
- } else {
- $sock= $self->_create_tcp_socket($ns);
- next NAMESERVER unless $sock;
-
- $self->{'sockets'}[AF_UNSPEC]{$sock_key} = $sock if
- $self->persistent_tcp;
- }
-
-
- my $lenmsg = pack('n', length($packet_data));
- print ';; sending ', length($packet_data), " bytes\n"
- if $self->{'debug'};
-
- # note that we send the length and packet data in a single call
- # as this produces a single TCP packet rather than two. This
- # is more efficient and also makes things much nicer for sniffers.
- # (ethereal doesn't seem to reassemble DNS over TCP correctly)
-
-
- unless ($sock->send( $lenmsg . $packet_data)) {
- $self->errorstring($!);
- print ";; ERROR: send_tcp: data send failed: $!\n"
- if $self->{'debug'};
- next NAMESERVER;
- }
-
- my $sel = IO::Select->new($sock);
- my $timeout=$self->{'tcp_timeout'};
- if ($sel->can_read($timeout)) {
- my $buf = read_tcp($sock, Net::DNS::INT16SZ(), $self->{'debug'});
- next NAMESERVER unless length($buf); # Failure to get anything
- my ($len) = unpack('n', $buf);
- next NAMESERVER unless $len; # Cannot determine size
-
- unless ($sel->can_read($timeout)) {
- $self->errorstring('timeout');
- print ";; TIMEOUT\n" if $self->{'debug'};
- next;
- }
-
- $buf = read_tcp($sock, $len, $self->{'debug'});
-
- $self->answerfrom($sock->peerhost);
-
- print ';; received ', length($buf), " bytes\n"
- if $self->{'debug'};
-
- unless (length($buf) == $len) {
- $self->errorstring("expected $len bytes, " .
- 'received ' . length($buf));
- next;
- }
-
- my ($ans, $err) = Net::DNS::Packet->new(\$buf, $self->{'debug'});
- if (defined $ans) {
- $self->errorstring($ans->header->rcode);
- $ans->answerfrom($self->answerfrom);
-
- if ($ans->header->rcode ne "NOERROR" &&
- $ans->header->rcode ne "NXDOMAIN"){
- # Remove this one from the stack
- print "RCODE: ".$ans->header->rcode ."; trying next nameserver\n" if $self->{'debug'};
- $lastanswer=$ans;
- next NAMESERVER ;
-
- }
-
- }
- elsif (defined $err) {
- $self->errorstring($err);
- }
-
- return $ans;
- }
- else {
- $self->errorstring('timeout');
- next;
- }
- }
-
- if ($lastanswer){
- $self->errorstring($lastanswer->header->rcode );
- return $lastanswer;
-
- }
-
- return;
-}
-
-
-
-sub send_udp {
- my ($self, $packet, $packet_data) = @_;
- my $retrans = $self->{'retrans'};
- my $timeout = $retrans;
-
- my $lastanswer;
-
- my $stop_time = time + $self->{'udp_timeout'} if $self->{'udp_timeout'};
-
- $self->_reset_errorstring;
-
- my @ns;
- my $dstport = $self->{'port'};
- my $srcport = $self->{'srcport'};
- my $srcaddr = $self->{'srcaddr'};
-
- my @sock;
-
-
- if ($self->persistent_udp){
- if ($has_inet6){
- if ( defined ($self->{'sockets'}[AF_INET6()]{'UDP'})) {
- $sock[AF_INET6()] = $self->{'sockets'}[AF_INET6()]{'UDP'};
- print ";; using persistent AF_INET6() family type socket\n"
- if $self->{'debug'};
- }
- }
- if ( defined ($self->{'sockets'}[AF_INET]{'UDP'})) {
- $sock[AF_INET] = $self->{'sockets'}[AF_INET]{'UDP'};
- print ";; using persistent AF_INET() family type socket\n"
- if $self->{'debug'};
- }
- }
-
- if ($has_inet6 && ! $self->force_v4() && !defined( $sock[AF_INET6()] )){
-
-
- # '::' Otherwise the INET6 socket will fail.
-
- my $srcaddr6 = $srcaddr eq '0.0.0.0' ? '::' : $srcaddr;
-
- print ";; Trying to set up a AF_INET6() family type UDP socket with srcaddr: $srcaddr ... "
- if $self->{'debug'};
-
-
- # IO::Socket carps on errors if Perl's -w flag is turned on.
- # Uncomment the next two lines and the line following the "new"
- # call to turn off these messages.
-
- #my $old_wflag = $^W;
- #$^W = 0;
-
- $sock[AF_INET6()] = IO::Socket::INET6->new(
- LocalAddr => $srcaddr6,
- LocalPort => ($srcport || undef),
- Proto => 'udp',
- );
-
-
-
-
- print (defined($sock[AF_INET6()])?"done\n":"failed\n") if $has_inet6 && $self->debug();
-
- }
-
- # Always set up an AF_INET socket.
- # It will be used if the address familly of for the endpoint is V4.
-
- if (!defined( $sock[AF_INET]))
-
- {
- print ";; setting up an AF_INET() family type UDP socket\n"
- if $self->{'debug'};
-
- #my $old_wflag = $^W;
- #$^W = 0;
-
- $sock[AF_INET] = IO::Socket::INET->new(
- LocalAddr => $srcaddr,
- LocalPort => ($srcport || undef),
- Proto => 'udp',
- ) ;
-
- #$^W = $old_wflag;
- }
-
-
-
- unless (defined $sock[AF_INET] || ($has_inet6 && defined $sock[AF_INET6()])) {
-
- $self->errorstring("could not get socket"); #'
- return;
- }
-
- $self->{'sockets'}[AF_INET]{'UDP'} = $sock[AF_INET] if ($self->persistent_udp) && defined( $sock[AF_INET] );
- $self->{'sockets'}[AF_INET6()]{'UDP'} = $sock[AF_INET6()] if $has_inet6 && ($self->persistent_udp) && defined( $sock[AF_INET6()]) && ! $self->force_v4();
-
- # Constructing an array of arrays that contain 3 elements: The
- # nameserver IP address, its sockaddr and the sockfamily for
- # which the sockaddr structure is constructed.
-
- my $nmbrnsfailed=0;
- NSADDRESS: foreach my $ns_address ($self->nameservers()){
- # The logic below determines the $dst_sockaddr.
- # If getaddrinfo is available that is used for both INET4 and INET6
- # If getaddrinfo is not avialable (Socket6 failed to load) we revert
- # to the 'classic mechanism
- if ($has_inet6 && ! $self->force_v4() ){
- # we can use getaddrinfo
- no strict 'subs'; # Because of the eval statement in the BEGIN
- # AI_NUMERICHOST is not available at compile time.
- # The AI_NUMERICHOST surpresses lookups.
-
- my $old_wflag = $^W; #circumvent perl -w warnings about 'udp'
- $^W = 0;
-
-
-
- my @res = getaddrinfo($ns_address, $dstport, AF_UNSPEC, SOCK_DGRAM,
- 0, AI_NUMERICHOST);
-
- $^W=$old_wflag ;
-
-
- use strict 'subs';
-
- my ($sockfamily, $socktype_tmp,
- $proto_tmp, $dst_sockaddr, $canonname_tmp) = @res;
-
- if (scalar(@res) < 5) {
- die ("can't resolve \"$ns_address\" to address");
- }
-
- push @ns,[$ns_address,$dst_sockaddr,$sockfamily];
-
- }else{
- next NSADDRESS unless( _ip_is_ipv4($ns_address));
- my $dst_sockaddr = sockaddr_in($dstport, inet_aton($ns_address));
- push @ns, [$ns_address,$dst_sockaddr,AF_INET];
- }
-
- }
-
- unless (@ns) {
- print "No nameservers" if $self->debug();
- $self->errorstring('no nameservers');
- return;
- }
-
- my $sel = IO::Select->new() ;
- # We allready tested that one of the two socket exists
-
- $sel->add($sock[AF_INET]) if defined ($sock[AF_INET]);
- $sel->add($sock[AF_INET6()]) if $has_inet6 && defined ($sock[AF_INET6()]) && ! $self->force_v4();
-
-
- # Perform each round of retries.
- for (my $i = 0;
- $i < $self->{'retry'};
- ++$i, $retrans *= 2, $timeout = int($retrans / (@ns || 1))) {
-
- $timeout = 1 if ($timeout < 1);
-
- # Try each nameserver.
- NAMESERVER: foreach my $ns (@ns) {
- next if defined $ns->[3];
- if ($stop_time) {
- my $now = time;
- if ($stop_time < $now) {
- $self->errorstring('query timed out');
- return;
- }
- if ($timeout > 1 && $timeout > ($stop_time-$now)) {
- $timeout = $stop_time-$now;
- }
- }
- my $nsname = $ns->[0];
- my $nsaddr = $ns->[1];
- my $nssockfamily = $ns->[2];
-
- # If we do not have a socket for the transport
- # we are supposed to reach the namserver on we
- # should skip it.
- unless (defined ($sock[ $nssockfamily ])){
- print "Send error: cannot reach $nsname (".
-
- ( ($has_inet6 && $nssockfamily == AF_INET6()) ? "IPv6" : "" ).
- ( ($nssockfamily == AF_INET) ? "IPv4" : "" ).
- ") not available"
- if $self->debug();
-
-
- $self->errorstring("Send error: cannot reach $nsname (" .
- ( ($has_inet6 && $nssockfamily == AF_INET6()) ? "IPv6" : "" ).
- ( ($nssockfamily == AF_INET) ? "IPv4" : "" ).
- ") not available"
-
-);
- next NAMESERVER ;
- }
-
- print ";; send_udp($nsname:$dstport)\n"
- if $self->{'debug'};
-
- unless ($sock[$nssockfamily]->send($packet_data, 0, $nsaddr)) {
- print ";; send error: $!\n" if $self->{'debug'};
- $self->errorstring("Send error: $!");
- $nmbrnsfailed++;
- $ns->[3]="Send error".$self->errorstring();
- next;
- }
-
- # See ticket 11931 but this works not quite yet
- my $oldpacket_timeout=time+$timeout;
- until ( $oldpacket_timeout && ($oldpacket_timeout < time())) {
- my @ready = $sel->can_read($timeout);
- SELECTOR: foreach my $ready (@ready) {
- my $buf = '';
-
- if ($ready->recv($buf, $self->_packetsz)) {
-
- $self->answerfrom($ready->peerhost);
-
- print ';; answer from ',
- $ready->peerhost, ':',
- $ready->peerport, ' : ',
- length($buf), " bytes\n"
- if $self->{'debug'};
-
- my ($ans, $err) = Net::DNS::Packet->new(\$buf, $self->{'debug'});
-
- if (defined $ans) {
- next SELECTOR unless ( $ans->header->qr || $self->{'ignqrid'});
- next SELECTOR unless ( ($ans->header->id == $packet->header->id) || $self->{'ignqrid'} );
- $self->errorstring($ans->header->rcode);
- $ans->answerfrom($self->answerfrom);
- if ($ans->header->rcode ne "NOERROR" &&
- $ans->header->rcode ne "NXDOMAIN"){
- # Remove this one from the stack
-
- print "RCODE: ".$ans->header->rcode ."; trying next nameserver\n" if $self->{'debug'};
- $nmbrnsfailed++;
- $ns->[3]="RCODE: ".$ans->header->rcode();
- $lastanswer=$ans;
- next NAMESERVER ;
-
- }
- } elsif (defined $err) {
- $self->errorstring($err);
- }
- return $ans;
- } else {
- $self->errorstring($!);
- print ';; recv ERROR(',
- $ready->peerhost, ':',
- $ready->peerport, '): ',
- $self->errorstring, "\n"
- if $self->{'debug'};
- $ns->[3]="Recv error ".$self->errorstring();
- $nmbrnsfailed++;
- # We want to remain in the SELECTOR LOOP...
- # unless there are no more nameservers
- return unless ($nmbrnsfailed < @ns);
- print ';; Number of failed nameservers: $nmbrnsfailed out of '.scalar @ns."\n" if $self->{'debug'};
-
- }
- } #SELECTOR LOOP
- } # until stop_time loop
- } #NAMESERVER LOOP
-
- }
-
- if ($lastanswer){
- $self->errorstring($lastanswer->header->rcode );
- return $lastanswer;
-
- }
- if ($sel->handles) {
- # If there are valid hanndles than we have either a timeout or
- # a send error.
- $self->errorstring('query timed out') unless ($self->errorstring =~ /Send error:/);
- }
- else {
- if ($nmbrnsfailed < @ns){
- $self->errorstring('Unexpected Error') ;
- }else{
- $self->errorstring('all nameservers failed');
- }
- }
- return;
-}
-
-
-sub bgsend {
- my $self = shift;
-
- unless ($self->nameservers()) {
- $self->errorstring('no nameservers');
- return;
- }
-
- $self->_reset_errorstring;
-
- my $packet = $self->make_query_packet(@_);
- my $packet_data = $packet->data;
-
- my $srcaddr = $self->{'srcaddr'};
- my $srcport = $self->{'srcport'};
-
-
- my (@res, $sockfamily, $dst_sockaddr);
- my $ns_address = ($self->nameservers())[0];
- my $dstport = $self->{'port'};
-
-
- # The logic below determines ther $dst_sockaddr.
- # If getaddrinfo is available that is used for both INET4 and INET6
- # If getaddrinfo is not avialable (Socket6 failed to load) we revert
- # to the 'classic mechanism
- if ($has_inet6 && ! $self->force_v4()){
-
- my ( $socktype_tmp, $proto_tmp, $canonname_tmp);
-
- no strict 'subs'; # Because of the eval statement in the BEGIN
- # AI_NUMERICHOST is not available at compile time.
-
- # The AI_NUMERICHOST surpresses lookups.
- my @res = getaddrinfo($ns_address, $dstport, AF_UNSPEC, SOCK_DGRAM,
- 0 , AI_NUMERICHOST);
-
- use strict 'subs';
-
- ($sockfamily, $socktype_tmp,
- $proto_tmp, $dst_sockaddr, $canonname_tmp) = @res;
-
- if (scalar(@res) < 5) {
- die ("can't resolve \"$ns_address\" to address (it could have been an IP address)");
- }
-
- }else{
- $sockfamily=AF_INET;
-
- if (! _ip_is_ipv4($ns_address)){
- $self->errorstring("bgsend(ipv4 only):$ns_address does not seem to be a valid IPv4 address");
- return;
- }
-
- $dst_sockaddr = sockaddr_in($dstport, inet_aton($ns_address));
- }
- my @socket;
-
- if ($sockfamily == AF_INET) {
- $socket[$sockfamily] = IO::Socket::INET->new(
- Proto => 'udp',
- Type => SOCK_DGRAM,
- LocalAddr => $srcaddr,
- LocalPort => ($srcport || undef),
- );
- } elsif ($has_inet6 && $sockfamily == AF_INET6() ) {
- # Otherwise the INET6 socket will just fail
- my $srcaddr6 = $srcaddr eq "0.0.0.0" ? '::' : $srcaddr;
- $socket[$sockfamily] = IO::Socket::INET6->new(
- Proto => 'udp',
- Type => SOCK_DGRAM,
- LocalAddr => $srcaddr6,
- LocalPort => ($srcport || undef),
- );
- } else {
- die ref($self)." bgsend:Unsoported Socket Family: $sockfamily";
- }
-
- unless (scalar(@socket)) {
- $self->errorstring("could not get socket"); #'
- return;
- }
-
- print ";; bgsend($ns_address : $dstport)\n" if $self->{'debug'} ;
-
- foreach my $socket (@socket){
- next if !defined $socket;
-
- unless ($socket->send($packet_data,0,$dst_sockaddr)){
- my $err = $!;
- print ";; send ERROR($ns_address): $err\n" if $self->{'debug'};
-
- $self->errorstring("Send: ".$err);
- return;
- }
- return $socket;
- }
- $self->errorstring("Could not find a socket to send on");
- return;
-
-}
-
-sub bgread {
- my ($self, $sock) = @_;
-
- my $buf = '';
-
- my $peeraddr = $sock->recv($buf, $self->_packetsz);
-
- if ($peeraddr) {
- print ';; answer from ', $sock->peerhost, ':',
- $sock->peerport, ' : ', length($buf), " bytes\n"
- if $self->{'debug'};
-
- my ($ans, $err) = Net::DNS::Packet->new(\$buf, $self->{'debug'});
-
- if (defined $ans) {
- $self->errorstring($ans->header->rcode);
- $ans->answerfrom($sock->peerhost);
- } elsif (defined $err) {
- $self->errorstring($err);
- }
-
- return $ans;
- } else {
- $self->errorstring($!);
- return;
- }
-}
-
-sub bgisready {
- my $self = shift;
- my $sel = IO::Select->new(@_);
- my @ready = $sel->can_read(0.0);
- return @ready > 0;
-}
-
-sub make_query_packet {
- my $self = shift;
- my $packet;
-
- if (ref($_[0]) and $_[0]->isa('Net::DNS::Packet')) {
- $packet = shift;
- } else {
- $packet = Net::DNS::Packet->new(@_);
- }
-
- if ($packet->header->opcode eq 'QUERY') {
- $packet->header->rd($self->{'recurse'});
- }
-
- if ($self->{'dnssec'}) {
- # RFC 3225
- print ";; Adding EDNS extention with UDP packetsize $self->{'udppacketsize'} and DNS OK bit set\n"
- if $self->{'debug'};
-
- my $optrr = Net::DNS::RR->new(
- Type => 'OPT',
- Name => '',
- Class => $self->{'udppacketsize'}, # Decimal UDPpayload
- ednsflags => 0x8000, # first bit set see RFC 3225
- );
-
-
- $packet->push('additional', $optrr) unless defined $packet->{'optadded'} ;
- $packet->{'optadded'}=1;
- } elsif ($self->{'udppacketsize'} > Net::DNS::PACKETSZ()) {
- print ";; Adding EDNS extention with UDP packetsize $self->{'udppacketsize'}.\n" if $self->{'debug'};
- # RFC 3225
- my $optrr = Net::DNS::RR->new(
- Type => 'OPT',
- Name => '',
- Class => $self->{'udppacketsize'}, # Decimal UDPpayload
- TTL => 0x0000 # RCODE 32bit Hex
- );
-
- $packet->push('additional', $optrr) unless defined $packet->{'optadded'} ;
- $packet->{'optadded'}=1;
- }
-
-
- if ($self->{'tsig_rr'}) {
- if (!grep { $_->type eq 'TSIG' } $packet->additional) {
- $packet->push('additional', $self->{'tsig_rr'});
- }
- }
-
- return $packet;
-}
-
-sub axfr {
- my $self = shift;
- my @zone;
-
- if ($self->axfr_start(@_)) {
- my ($rr, $err);
- while (($rr, $err) = $self->axfr_next, $rr && !$err) {
- push @zone, $rr;
- }
- @zone = () if $err;
- }
-
- return @zone;
-}
-
-sub axfr_old {
- croak "Use of Net::DNS::Resolver::axfr_old() is deprecated, use axfr() or axfr_start().";
-}
-
-
-sub axfr_start {
- my $self = shift;
- my ($dname, $class) = @_;
- $dname ||= $self->{'searchlist'}->[0];
- $class ||= 'IN';
- my $timeout = $self->{'tcp_timeout'};
-
- unless ($dname) {
- print ";; ERROR: axfr: no zone specified\n" if $self->{'debug'};
- $self->errorstring('no zone');
- return;
- }
-
-
- print ";; axfr_start($dname, $class)\n" if $self->{'debug'};
-
- unless ($self->nameservers()) {
- $self->errorstring('no nameservers');
- print ";; ERROR: no nameservers\n" if $self->{'debug'};
- return;
- }
-
- my $packet = $self->make_query_packet($dname, 'AXFR', $class);
- my $packet_data = $packet->data;
-
- my $ns = ($self->nameservers())[0];
-
-
- my $srcport = $self->{'srcport'};
- my $srcaddr = $self->{'srcaddr'};
- my $dstport = $self->{'port'};
-
- print ";; axfr_start nameserver = $ns\n" if $self->{'debug'};
- print ";; axfr_start srcport: $srcport, srcaddr: $srcaddr, dstport: $dstport\n" if $self->{'debug'};
-
-
- my $sock;
- my $sock_key = "$ns:$self->{'port'}";
-
-
- if ($self->persistent_tcp && $self->{'axfr_sockets'}[AF_UNSPEC]{$sock_key}) {
- $sock = $self->{'axfr_sockets'}[AF_UNSPEC]{$sock_key};
- print ";; using persistent socket\n"
- if $self->{'debug'};
- } else {
- $sock=$self->_create_tcp_socket($ns);
-
- return unless ($sock); # all error messages
- # are set by _create_tcp_socket
-
-
- $self->{'axfr_sockets'}[AF_UNSPEC]{$sock_key} = $sock if
- $self->persistent_tcp;
- }
-
- my $lenmsg = pack('n', length($packet_data));
-
- unless ($sock->send($lenmsg)) {
- $self->errorstring($!);
- return;
- }
-
- unless ($sock->send($packet_data)) {
- $self->errorstring($!);
- return;
- }
-
- my $sel = IO::Select->new($sock);
-
- $self->{'axfr_sel'} = $sel;
- $self->{'axfr_rr'} = [];
- $self->{'axfr_soa_count'} = 0;
-
- return $sock;
-}
-
-
-sub axfr_next {
- my $self = shift;
- my $err = '';
-
- unless (@{$self->{'axfr_rr'}}) {
- unless ($self->{'axfr_sel'}) {
- my $err = 'no zone transfer in progress';
-
- print ";; $err\n" if $self->{'debug'};
- $self->errorstring($err);
-
- return wantarray ? (undef, $err) : undef;
- }
-
- my $sel = $self->{'axfr_sel'};
- my $timeout = $self->{'tcp_timeout'};
-
- #--------------------------------------------------------------
- # Read the length of the response packet.
- #--------------------------------------------------------------
-
- my @ready = $sel->can_read($timeout);
- unless (@ready) {
- $err = 'timeout';
- $self->errorstring($err);
- return wantarray ? (undef, $err) : undef;
- }
-
- my $buf = read_tcp($ready[0], Net::DNS::INT16SZ(), $self->{'debug'});
- unless (length $buf) {
- $err = 'truncated zone transfer';
- $self->errorstring($err);
- return wantarray ? (undef, $err) : undef;
- }
-
- my ($len) = unpack('n', $buf);
- unless ($len) {
- $err = 'truncated zone transfer';
- $self->errorstring($err);
- return wantarray ? (undef, $err) : undef;
- }
-
- #--------------------------------------------------------------
- # Read the response packet.
- #--------------------------------------------------------------
-
- @ready = $sel->can_read($timeout);
- unless (@ready) {
- $err = 'timeout';
- $self->errorstring($err);
- return wantarray ? (undef, $err) : undef;
- }
-
- $buf = read_tcp($ready[0], $len, $self->{'debug'});
-
- print ';; received ', length($buf), " bytes\n"
- if $self->{'debug'};
-
- unless (length($buf) == $len) {
- $err = "expected $len bytes, received " . length($buf);
- $self->errorstring($err);
- print ";; $err\n" if $self->{'debug'};
- return wantarray ? (undef, $err) : undef;
- }
-
- my $ans;
- ($ans, $err) = Net::DNS::Packet->new(\$buf, $self->{'debug'});
-
- if ($ans) {
- if ($ans->header->rcode ne 'NOERROR') {
- $self->errorstring('Response code from server: ' . $ans->header->rcode);
- print ';; Response code from server: ' . $ans->header->rcode . "\n" if $self->{'debug'};
- return wantarray ? (undef, $err) : undef;
- }
- if ($ans->header->ancount < 1) {
- $err = 'truncated zone transfer';
- $self->errorstring($err);
- print ";; $err\n" if $self->{'debug'};
- return wantarray ? (undef, $err) : undef;
- }
- }
- else {
- $err ||= 'unknown error during packet parsing';
- $self->errorstring($err);
- print ";; $err\n" if $self->{'debug'};
- return wantarray ? (undef, $err) : undef;
- }
-
- foreach my $rr ($ans->answer) {
- if ($rr->type eq 'SOA') {
- if (++$self->{'axfr_soa_count'} < 2) {
- push @{$self->{'axfr_rr'}}, $rr;
- }
- }
- else {
- push @{$self->{'axfr_rr'}}, $rr;
- }
- }
-
- if ($self->{'axfr_soa_count'} >= 2) {
- $self->{'axfr_sel'} = undef;
- # we need to mark the transfer as over if the responce was in
- # many answers. Otherwise, the user will call axfr_next again
- # and that will cause a 'no transfer in progress' error.
- push(@{$self->{'axfr_rr'}}, undef);
- }
- }
-
- my $rr = shift @{$self->{'axfr_rr'}};
-
- return wantarray ? ($rr, undef) : $rr;
-}
-
-
-
-
-sub dnssec {
- my ($self, $new_val) = @_;
- if (defined $new_val) {
- $self->{"dnssec"} = $new_val;
- # Setting the udppacket size to some higher default
- $self->udppacketsize(2048) if $new_val;
- }
-
- Carp::carp ("You called the Net::DNS::Resolver::dnssec() method but do not have Net::DNS::SEC installed") if $self->{"dnssec"} && ! $Net::DNS::DNSSEC;
- return $self->{"dnssec"};
-};
-
-
-
-sub tsig {
- my $self = shift;
-
- if (@_ == 1) {
- if ($_[0] && ref($_[0])) {
- $self->{'tsig_rr'} = $_[0];
- }
- else {
- $self->{'tsig_rr'} = undef;
- }
- }
- elsif (@_ == 2) {
- my ($key_name, $key) = @_;
- $self->{'tsig_rr'} = Net::DNS::RR->new("$key_name TSIG $key");
- }
-
- return $self->{'tsig_rr'};
-}
-
-#
-# Usage: $data = read_tcp($socket, $nbytes, $debug);
-#
-sub read_tcp {
- my ($sock, $nbytes, $debug) = @_;
- my $buf = '';
-
- while (length($buf) < $nbytes) {
- my $nread = $nbytes - length($buf);
- my $read_buf = '';
-
- print ";; read_tcp: expecting $nread bytes\n" if $debug;
-
- # During some of my tests recv() returned undef even
- # though there wasn't an error. Checking for the amount
- # of data read appears to work around that problem.
-
- unless ($sock->recv($read_buf, $nread)) {
- if (length($read_buf) < 1) {
- my $errstr = $!;
-
- print ";; ERROR: read_tcp: recv failed: $!\n"
- if $debug;
-
- if ($errstr eq 'Resource temporarily unavailable') {
- warn "ERROR: read_tcp: recv failed: $errstr\n";
- warn "ERROR: try setting \$res->timeout(undef)\n";
- }
-
- last;
- }
- }
-
- print ';; read_tcp: received ', length($read_buf), " bytes\n"
- if $debug;
-
- last unless length($read_buf);
- $buf .= $read_buf;
- }
-
- return $buf;
-}
-
-
-
-sub _create_tcp_socket {
- my $self=shift;
- my $ns=shift;
- my $sock;
-
- my $srcport = $self->{'srcport'};
- my $srcaddr = $self->{'srcaddr'};
- my $dstport = $self->{'port'};
-
- my $timeout = $self->{'tcp_timeout'};
- # IO::Socket carps on errors if Perl's -w flag is
- # turned on. Uncomment the next two lines and the
- # line following the "new" call to turn off these
- # messages.
-
- #my $old_wflag = $^W;
- #$^W = 0;
-
- if ($has_inet6 && ! $self->force_v4() && _ip_is_ipv6($ns) ){
- # XXX IO::Socket::INET6 fails in a cryptic way upon send()
- # on AIX5L if "0" is passed in as LocalAddr
- # $srcaddr="0" if $srcaddr eq "0.0.0.0"; # Otherwise the INET6 socket will just fail
-
- my $srcaddr6 = $srcaddr eq '0.0.0.0' ? '::' : $srcaddr;
-
- $sock =
- IO::Socket::INET6->new(
- PeerPort => $dstport,
- PeerAddr => $ns,
- LocalAddr => $srcaddr6,
- LocalPort => ($srcport || undef),
- Proto => 'tcp',
- Timeout => $timeout,
- );
-
- unless($sock){
- $self->errorstring('connection failed(IPv6 socket failure)');
- print ";; ERROR: send_tcp: IPv6 connection to $ns".
- "failed: $!\n" if $self->{'debug'};
- return();
- }
- }
-
- # At this point we have sucessfully obtained an
- # INET6 socket to an IPv6 nameserver, or we are
- # running forced v4, or we do not have v6 at all.
- # Try v4.
-
- unless($sock){
- if (_ip_is_ipv6($ns)){
- $self->errorstring(
- 'connection failed (trying IPv6 nameserver without having IPv6)');
- print
- ';; ERROR: send_tcp: You are trying to connect to '.
- $ns . " but you do not have IPv6 available\n"
- if $self->{'debug'};
- return();
- }
-
-
- $sock = IO::Socket::INET->new(
- PeerAddr => $ns,
- PeerPort => $dstport,
- LocalAddr => $srcaddr,
- LocalPort => ($srcport || undef),
- Proto => 'tcp',
- Timeout => $timeout
- )
- }
-
- #$^W = $old_wflag;
-
- unless ($sock) {
- $self->errorstring('connection failed');
- print ';; ERROR: send_tcp: connection ',
- "failed: $!\n" if $self->{'debug'};
- return();
- }
-
- return $sock;
-}
-
-
-# Lightweight versions of subroutines from Net::IP module, recoded to fix rt#28198
-
-sub _ip_is_ipv4 {
- my @field = split /\./, shift;
-
- return 0 if @field > 4; # too many fields
- return 0 if @field == 0; # no fields at all
-
- foreach ( @field ) {
- return 0 unless /./; # reject if empty
- return 0 if /[^0-9]/; # reject non-digit
- return 0 if $_ > 255; # reject bad value
- }
-
-
- return 1;
-}
-
-
-sub _ip_is_ipv6 {
-
- for ( shift ) {
- my @field = split /:/; # split into fields
- return 0 if (@field < 3) or (@field > 8);
-
- return 0 if /::.*::/; # reject multiple ::
-
- if ( /\./ ) { # IPv6:IPv4
- return 0 unless _ip_is_ipv4(pop @field);
- }
-
- foreach ( @field ) {
- next unless /./; # skip ::
- return 0 if /[^0-9a-f]/i; # reject non-hexdigit
- return 0 if length $_ > 4; # reject bad value
- }
- }
- return 1;
-}
-
-
-
-sub AUTOLOAD {
- my ($self) = @_;
-
- my $name = $AUTOLOAD;
- $name =~ s/.*://;
-
- Carp::croak "$name: no such method" unless exists $self->{$name};
-
- no strict q/refs/;
-
-
- *{$AUTOLOAD} = sub {
- my ($self, $new_val) = @_;
-
- if (defined $new_val) {
- $self->{"$name"} = $new_val;
- }
-
- return $self->{"$name"};
- };
-
-
- goto &{$AUTOLOAD};
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Net::DNS::Resolver::Base - Common Resolver Class
-
-=head1 SYNOPSIS
-
- use base qw/Net::DNS::Resolver::Base/;
-
-=head1 DESCRIPTION
-
-This class is the common base class for the different platform
-sub-classes of L<Net::DNS::Resolver|Net::DNS::Resolver>.
-
-No user serviceable parts inside, see L<Net::DNS::Resolver|Net::DNS::Resolver>
-for all your resolving needs.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-Portions Copyright (c) 2005 Olaf Kolkman <olaf@net-dns.org>
-Portions Copyright (c) 2006 Dick Franks.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>
-
-=cut
-
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Cygwin.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Cygwin.pm
deleted file mode 100644
index bae2d311d0c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Cygwin.pm
+++ /dev/null
@@ -1,180 +0,0 @@
-package Net::DNS::Resolver::Cygwin;
-#
-# $Id: Cygwin.pm 696 2007-12-28 13:46:20Z olaf $
-#
-
-use strict;
-use vars qw(@ISA $VERSION);
-
-use Net::DNS::Resolver::Base ();
-
-@ISA = qw(Net::DNS::Resolver::Base);
-$VERSION = (qw$LastChangedRevision: 696 $)[1];
-
-sub getregkey {
- my $key = $_[0] . $_[1];
- my $value = '';
-
- local *LM;
-
- if (open(LM, "<$key")) {
- $value = <LM>;
- $value =~ s/\0+$//;
- close(LM);
- }
-
- return $value;
-}
-
-sub init {
- my ($class) = @_;
- my $defaults = $class->defaults;
-
- local *LM;
-
- my $root = '/proc/registry/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/';
-
- unless (-d $root) {
- # Doesn't exist, maybe we are on 95/98/Me?
- $root = '/proc/registry/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/VxD/MSTCP/';
- -d $root || Carp::croak "can't read registry: $!";
- }
-
- # Best effort to find a useful domain name for the current host
- # if domain ends up blank, we're probably (?) not connected anywhere
- # a DNS server is interesting either...
- my $domain = getregkey($root, 'Domain') || getregkey($root, 'DhcpDomain') || '';
-
- # If nothing else, the searchlist should probably contain our own domain
- # also see below for domain name devolution if so configured
- # (also remove any duplicates later)
- my $searchlist = "$domain ";
- $searchlist .= getregkey($root, 'SearchList');
-
- # This is (probably) adequate on NT4
- my $nt4nameservers = getregkey($root, 'NameServer') || getregkey($root, 'DhcpNameServer');
- my $nameservers = "";
- #
- # but on W2K/XP the registry layout is more advanced due to dynamically
- # appearing connections. So we attempt to handle them, too...
- # opt to silently fail if something isn't ok (maybe we're on NT4)
- # If this doesn't fail override any NT4 style result we found, as it
- # may be there but is not valid.
- # drop any duplicates later
- my $dnsadapters = $root . "DNSRegisteredAdapters/";
- if (opendir(LM, $dnsadapters)) {
- my @adapters = grep($_ ne "." && $_ ne "..", readdir(LM));
- closedir(LM);
- foreach my $adapter (@adapters) {
- my $regadapter = $dnsadapters . $adapter . '/';
- if (-e $regadapter) {
- my $ns = getregkey($regadapter, 'DNSServerAddresses') || '';
- while (length($ns) >= 4) {
- my $addr = join('.', unpack("C4", substr($ns,0,4,"")));
- $nameservers .= " $addr";
- }
- }
- }
- }
-
- my $interfaces = $root . "Interfaces/";
- if (opendir(LM, $interfaces)) {
- my @ifacelist = grep($_ ne "." && $_ ne "..", readdir(LM));
- closedir(LM);
- foreach my $iface (@ifacelist) {
- my $regiface = $interfaces . $iface . '/';
- if (opendir(LM, $regiface)) {
- closedir(LM);
-
- my $ns;
- my $ip;
- $ip = getregkey($regiface, "DhcpIPAddress") || getregkey($regiface, "IPAddress");
- $ns = getregkey($regiface, "NameServer") ||
- getregkey($regiface, "DhcpNameServer") || '' unless !$ip || ($ip =~ /0\.0\.0\.0/);
-
- $nameservers .= " $ns" if $ns;
- }
- }
- }
-
- if (!$nameservers) {
- $nameservers = $nt4nameservers;
- }
-
- if ($domain) {
- $defaults->{'domain'} = $domain;
- }
-
- my $usedevolution = getregkey($root, 'UseDomainNameDevolution');
- if ($searchlist) {
- # fix devolution if configured, and simultaneously make sure no dups (but keep the order)
- my @a;
- my %h;
- foreach my $entry (split(m/[\s,]+/, $searchlist)) {
- push(@a, $entry) unless $h{$entry};
- $h{$entry} = 1;
- if ($usedevolution) {
- # as long there's more than two pieces, cut
- while ($entry =~ m#\..+\.#) {
- $entry =~ s#^[^\.]+\.(.+)$#$1#;
- push(@a, $entry) unless $h{$entry};
- $h{$entry} = 1;
- }
- }
- }
- $defaults->{'searchlist'} = \@a;
- }
-
- if ($nameservers) {
- # just in case dups were introduced...
- my @a;
- my %h;
- foreach my $ns (split(m/[\s,]+/, $nameservers)) {
- push @a, $ns unless (!$ns || $h{$ns});
- $h{$ns} = 1;
- }
- $defaults->{'nameservers'} = [map { m/(.*)/ } @a];
- }
-
- $class->read_env;
-
- if (!$defaults->{'domain'} && @{$defaults->{'searchlist'}}) {
- $defaults->{'domain'} = $defaults->{'searchlist'}[0];
- } elsif (!@{$defaults->{'searchlist'}} && $defaults->{'domain'}) {
- $defaults->{'searchlist'} = [ $defaults->{'domain'} ];
- }
-}
-
-1;
-__END__
-
-
-=head1 NAME
-
-Net::DNS::Resolver::Cygwin - Cygwin Resolver Class
-
-=head1 SYNOPSIS
-
- use Net::DNS::Resolver;
-
-=head1 DESCRIPTION
-
-This class implements the cygwin specific portions of C<Net::DNS::Resolver>.
-
-No user serviceable parts inside, see L<Net::DNS::Resolver|Net::DNS::Resolver>
-for all your resolving needs.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Recurse.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Recurse.pm
deleted file mode 100644
index 24e834b9c0a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Recurse.pm
+++ /dev/null
@@ -1,485 +0,0 @@
-package Net::DNS::Resolver::Recurse;
-#
-# $Id: Recurse.pm 591 2006-05-22 21:32:38Z olaf $
-#
-use strict;
-use Net::DNS::Resolver;
-
-use vars qw($VERSION @ISA);
-
-$VERSION = (qw$LastChangedRevision: 591 $)[1];
-@ISA = qw(Net::DNS::Resolver);
-
-sub hints {
- my $self = shift;
- my @hints = @_;
- print ";; hints(@hints)\n" if $self->{'debug'};
- if (!@hints && $self->nameservers) {
- $self->hints($self->nameservers);
- } else {
- $self->nameservers(@hints);
- }
-
- print ";; verifying (root) zone...\n" if $self->{'debug'};
- # bind always asks one of the hint servers
- # for who it thinks is authoritative for
- # the (root) zone as a sanity check.
- # Nice idea.
-
- $self->recurse(1);
- my $packet=$self->query(".", "NS", "IN");
- $self->recurse(0);
- my %hints = ();
- if ($packet) {
- if (my @ans = $packet->answer) {
- foreach my $rr (@ans) {
- if ($rr->name =~ /^\.?$/ and
- $rr->type eq "NS") {
- # Found root authority
- my $server = lc $rr->rdatastr;
- $server =~ s/\.$//;
- print ";; FOUND HINT: $server\n" if $self->{'debug'};
- $hints{$server} = [];
- }
- }
- foreach my $rr ($packet->additional) {
- print ";; ADDITIONAL: ",$rr->string,"\n" if $self->{'debug'};
- if (my $server = lc $rr->name){
- if ( $rr->type eq "A") {
- #print ";; ADDITIONAL HELP: $server -> [".$rr->rdatastr."]\n" if $self->{'debug'};
- if ($hints{$server}) {
- print ";; STORING IP: $server IN A ",$rr->rdatastr,"\n" if $self->{'debug'};
- push @{ $hints{$server} }, $rr->rdatastr;
- }
- }
- if ( $rr->type eq "AAAA") {
- #print ";; ADDITIONAL HELP: $server -> [".$rr->rdatastr."]\n" if $self->{'debug'};
- if ($hints{$server}) {
- print ";; STORING IP6: $server IN AAAA ",$rr->rdatastr,"\n" if $self->{'debug'};
- push @{ $hints{$server} }, $rr->rdatastr;
- }
- }
-
- }
- }
- }
- foreach my $server (keys %hints) {
- if (!@{ $hints{$server} }) {
- # Wipe the servers without lookups
- delete $hints{$server};
- }
- }
- $self->{'hints'} = \%hints;
- } else {
- $self->{'hints'} = {};
- }
- if (%{ $self->{'hints'} }) {
- if ($self->{'debug'}) {
- print ";; USING THE FOLLOWING HINT IPS:\n";
- foreach my $ips (values %{ $self->{'hints'} }) {
- foreach my $server (@{ $ips }) {
- print ";; $server\n";
- }
- }
- }
- } else {
- warn "Server [".($self->nameservers)[0]."] did not give answers";
- }
-
- # Disable recursion flag.
-
-
- return $self->nameservers( map { @{ $_ } } values %{ $self->{'hints'} } );
-}
-
-
-sub recursion_callback {
- my ($self, $sub) = @_;
-
- if ($sub && UNIVERSAL::isa($sub, 'CODE')) {
- $self->{'callback'} = $sub;
- }
-
- return $self->{'callback'};
-}
-
-
-# $res->query_dorecursion( args );
-# Takes same args as Net::DNS::Resolver->query
-# Purpose: Do that "hot pototo dance" on args.
-sub query_dorecursion {
- my $self = shift;
- my @query = @_;
-
- # Make sure the hint servers are initialized.
- $self->hints unless $self->{'hints'};
- $self->recurse(0);
- # Make sure the authority cache is clean.
- # It is only used to store A and AAAA records of
- # the suposedly authoritative name servers.
- $self->{'authority_cache'} = {};
-
- # Obtain real question Net::DNS::Packet
- my $query_packet = $self->make_query_packet(@query);
-
- # Seed name servers with hints
- return $self->_dorecursion( $query_packet, ".", $self->{'hints'}, 0);
-}
-
-sub _dorecursion {
- my $self = shift;
- my $query_packet = shift;
- my $known_zone = shift;
- my $known_authorities = shift;
- my $depth = shift;
- my $cache = $self->{'authority_cache'};
-
- # die "Recursion too deep, aborting..." if $depth > 255;
- if ( $depth > 255 ) {
- print ";; _dorecursion() Recursion too deep, aborting...\n" if
- $self->{'debug'};
- $self->errorstring="Recursion to deep, abborted";
- return undef;
- }
-
- $known_zone =~ s/\.*$/./;
-
- # Get IPs from authorities
- my @ns = ();
- foreach my $ns (keys %{ $known_authorities }) {
- if (scalar @{ $known_authorities->{$ns} }) {
- $cache->{$ns} = $known_authorities->{$ns};
- push (@ns, @{ $cache->{$ns} });
- } elsif ($cache->{$ns}) {
- $known_authorities->{$ns} = $cache->{$ns};
- push (@ns, @{ $cache->{$ns} });
- }
- }
-
- if (!@ns) {
- my $found_auth = 0;
- if ($self->{'debug'}) {
- require Data::Dumper;
- print ";; _dorecursion() Failed to extract nameserver IPs:\n";
- print Data::Dumper::Dumper([$known_authorities,$cache]);
- }
- foreach my $ns (keys %{ $known_authorities }) {
- if (!@{ $known_authorities->{$ns} }) {
- print ";; _dorecursion() Manual lookup for authority [$ns]\n" if $self->{'debug'};
-
- my $auth_packet;
- my @ans;
-
- # Don't query for V6 if its not there.
- if ($Net::DNS::Resolver::Base::has_inet6 && ! $self->{force_v4}){
- $auth_packet =
- $self->_dorecursion
- ($self->make_query_packet($ns,"AAAA"), # packet
- ".", # known_zone
- $self->{'hints'}, # known_authorities
- $depth+1); # depth
- @ans = $auth_packet->answer if $auth_packet;
- }
-
- $auth_packet =
- $self->_dorecursion
- ($self->make_query_packet($ns,"A"), # packet
- ".", # known_zone
- $self->{'hints'}, # known_authorities
- $depth+1); # depth
-
- push (@ans,$auth_packet->answer ) if $auth_packet;
-
- if ( @ans ) {
- print ";; _dorecursion() Answers found for [$ns]\n" if $self->{'debug'};
- foreach my $rr (@ans) {
- print ";; RR:".$rr->string."\n" if $self->{'debug'};
- if ($rr->type eq "CNAME") {
- # Follow CNAME
- if (my $server = lc $rr->name) {
- $server =~ s/\.*$/./;
- if ($server eq $ns) {
- my $cname = lc $rr->rdatastr;
- $cname =~ s/\.*$/./;
- print ";; _dorecursion() Following CNAME ns [$ns] -> [$cname]\n" if $self->{'debug'};
- $known_authorities->{$cname} ||= [];
- delete $known_authorities->{$ns};
- next;
- }
- }
- } elsif ($rr->type eq "A" ||$rr->type eq "AAAA" ) {
- if (my $server = lc $rr->name) {
- $server =~ s/\.*$/./;
- if ($known_authorities->{$server}) {
- my $ip = $rr->rdatastr;
- print ";; _dorecursion() Found ns: $server IN A $ip\n" if $self->{'debug'};
- $cache->{$server} = $known_authorities->{$server};
- push (@{ $cache->{$ns} }, $ip);
- $found_auth++;
- next;
- }
- }
- }
- print ";; _dorecursion() Ignoring useless answer: ",$rr->string,"\n" if $self->{'debug'};
- }
- } else {
- print ";; _dorecursion() Could not find A records for [$ns]\n" if $self->{'debug'};
- }
- }
- }
- if ($found_auth) {
- print ";; _dorecursion() Found $found_auth new NS authorities...\n" if $self->{'debug'};
- return $self->_dorecursion( $query_packet, $known_zone, $known_authorities, $depth+1);
- }
- print ";; _dorecursion() No authority information could be obtained.\n" if $self->{'debug'};
- return undef;
- }
-
- # Cut the deck of IPs in a random place.
- print ";; _dorecursion() cutting deck of (".scalar(@ns).") authorities...\n" if $self->{'debug'};
- splice(@ns, 0, 0, splice(@ns, int(rand @ns)));
-
-
- LEVEL: foreach my $levelns (@ns){
- print ";; _dorecursion() Trying nameserver [$levelns]\n" if $self->{'debug'};
- $self->nameservers($levelns);
-
- if (my $packet = $self->send( $query_packet )) {
-
- if ($self->{'callback'}) {
- $self->{'callback'}->($packet);
- }
-
- my $of = undef;
- print ";; _dorecursion() Response received from [",$self->answerfrom,"]\n" if $self->{'debug'};
- if (my $status = $packet->header->rcode) {
- if ($status eq "NXDOMAIN") {
- # I guess NXDOMAIN is the best we'll ever get
- print ";; _dorecursion() returning NXDOMAIN\n" if $self->{'debug'};
- return $packet;
- } elsif (my @ans = $packet->answer) {
- print ";; _dorecursion() Answers were found.\n" if $self->{'debug'};
- return $packet;
- } elsif (my @authority = $packet->authority) {
- my %auth = ();
- foreach my $rr (@authority) {
- if ($rr->type =~ /^(NS|SOA)$/) {
- my $server = lc ($1 eq "NS" ? $rr->nsdname : $rr->mname);
- $server =~ s/\.*$/./;
- $of = lc $rr->name;
- $of =~ s/\.*$/./;
- print ";; _dorecursion() Received authority [$of] [",$rr->type(),"] [$server]\n" if $self->{'debug'};
- if (length $of <= length $known_zone) {
- print ";; _dorecursion() Deadbeat name server did not provide new information.\n" if $self->{'debug'};
- next LEVEL;
- } elsif ($of =~ /$known_zone$/) {
- print ";; _dorecursion() FOUND closer authority for [$of] at [$server].\n" if $self->{'debug'};
- $auth{$server} ||= [];
- } else {
- print ";; _dorecursion() Confused name server [",$self->answerfrom,"] thinks [$of] is closer than [$known_zone]?\n" if $self->{'debug'};
- last;
- }
- } else {
- print ";; _dorecursion() Ignoring NON NS entry found in authority section: ",$rr->string,"\n" if $self->{'debug'};
- }
- }
- foreach my $rr ($packet->additional) {
- if ($rr->type eq "CNAME") {
- # Store this CNAME into %auth too
- if (my $server = lc $rr->name) {
- $server =~ s/\.*$/./;
- if ($auth{$server}) {
- my $cname = lc $rr->rdatastr;
- $cname =~ s/\.*$/./;
- print ";; _dorecursion() FOUND CNAME authority: ",$rr->string,"\n" if $self->{'debug'};
- $auth{$cname} ||= [];
- $auth{$server} = $auth{$cname};
- next;
- }
- }
- } elsif ($rr->type eq "A" || $rr->type eq "AAAA") {
- if (my $server = lc $rr->name) {
- $server =~ s/\.*$/./;
- if ($auth{$server}) {
- print ";; _dorecursion() STORING: $server IN A ",$rr->rdatastr,"\n" if $self->{'debug'} && $rr->type eq "A";
- print ";; _dorecursion() STORING: $server IN AAAA ",$rr->rdatastr,"\n" if $self->{'debug'}&& $rr->type eq "AAAA";
- push @{ $auth{$server} }, $rr->rdatastr;
- next;
- }
- }
- }
- print ";; _dorecursion() Ignoring useless: ",$rr->string,"\n" if $self->{'debug'};
- }
- if ($of =~ /$known_zone$/) {
- return $self->_dorecursion( $query_packet, $of, \%auth, $depth+1 );
- } else {
- return $self->_dorecursion( $query_packet, $known_zone, $known_authorities, $depth+1 );
- }
- }
- }
- }
- }
-
- return undef;
-}
-
-1;
-
-__END__
-
-
-=head1 NAME
-
-Net::DNS::Resolver::Recurse - Perform recursive dns lookups
-
-=head1 SYNOPSIS
-
- use Net::DNS::Resolver::Recurse;
- my $res = Net::DNS::Resolver::Recurse->new;
-
-=head1 DESCRIPTION
-
-This module is a sub class of Net::DNS::Resolver. So the methods for
-Net::DNS::Resolver still work for this module as well. There are just a
-couple methods added:
-
-=head2 hints
-
-Initialize the hint servers. Recursive queries need a starting name
-server to work off of. This method takes a list of IP addresses to use
-as the starting servers. These name servers should be authoritative for
-the root (.) zone.
-
- $res->hints(@ips);
-
-If no hints are passed, the default nameserver is asked for the hints.
-Normally these IPs can be obtained from the following location:
-
- ftp://ftp.internic.net/domain/named.root
-
-=head2 recursion_callback
-
-This method is takes a code reference, which is then invoked each time a
-packet is received during the recursive lookup. For example to emulate
-dig's C<+trace> function:
-
- $res->recursion_callback(sub {
- my $packet = shift;
-
- $_->print for $packet->additional;
-
- printf(";; Received %d bytes from %s\n\n",
- $packet->answersize,
- $packet->answerfrom
- );
- });
-
-=head2 query_dorecursion
-
-This method is much like the normal query() method except it disables
-the recurse flag in the packet and explicitly performs the recursion.
-
- $packet = $res->query_dorecursion( "www.netscape.com.", "A");
-
-
-=head1 IPv6 transport
-
-If the appropriate IPv6 libraries are installed the recursive resolver
-will randomly choose between IPv6 and IPv4 addresses of the
-nameservers it encounters during recursion.
-
-If you want to force IPv4 transport use the force_v4() method. Also see
-the IPv6 transport notes in the Net::DNS::Resolver documentation.
-
-=head1 AUTHOR
-
-Rob Brown, bbb@cpan.org
-
-=head1 SEE ALSO
-
-L<Net::DNS::Resolver>,
-
-=head1 COPYRIGHT
-
-Copyright (c) 2002, Rob Brown. All rights reserved.
-Portions Copyright (c) 2005, Olaf M Kolkman.
-
-This module is free software; you can redistribute
-it and/or modify it under the same terms as Perl itself.
-
-$Id: Recurse.pm 591 2006-05-22 21:32:38Z olaf $
-
-=cut
-
-Example lookup process:
-
-[root@box root]# dig +trace www.rob.com.au.
-
-; <<>> DiG 9.2.0 <<>> +trace www.rob.com.au.
-;; global options: printcmd
-. 507343 IN NS C.ROOT-SERVERS.NET.
-. 507343 IN NS D.ROOT-SERVERS.NET.
-. 507343 IN NS E.ROOT-SERVERS.NET.
-. 507343 IN NS F.ROOT-SERVERS.NET.
-. 507343 IN NS G.ROOT-SERVERS.NET.
-. 507343 IN NS H.ROOT-SERVERS.NET.
-. 507343 IN NS I.ROOT-SERVERS.NET.
-. 507343 IN NS J.ROOT-SERVERS.NET.
-. 507343 IN NS K.ROOT-SERVERS.NET.
-. 507343 IN NS L.ROOT-SERVERS.NET.
-. 507343 IN NS M.ROOT-SERVERS.NET.
-. 507343 IN NS A.ROOT-SERVERS.NET.
-. 507343 IN NS B.ROOT-SERVERS.NET.
-;; Received 436 bytes from 127.0.0.1#53(127.0.0.1) in 9 ms
- ;;; But these should be hard coded as the hints
-
- ;;; Ask H.ROOT-SERVERS.NET gave:
-au. 172800 IN NS NS2.BERKELEY.EDU.
-au. 172800 IN NS NS1.BERKELEY.EDU.
-au. 172800 IN NS NS.UU.NET.
-au. 172800 IN NS BOX2.AUNIC.NET.
-au. 172800 IN NS SEC1.APNIC.NET.
-au. 172800 IN NS SEC3.APNIC.NET.
-;; Received 300 bytes from 128.63.2.53#53(H.ROOT-SERVERS.NET) in 322 ms
- ;;; A little closer than before
-
- ;;; Ask NS2.BERKELEY.EDU gave:
-com.au. 259200 IN NS ns4.ausregistry.net.
-com.au. 259200 IN NS dns1.telstra.net.
-com.au. 259200 IN NS au2ld.CSIRO.au.
-com.au. 259200 IN NS audns01.syd.optus.net.
-com.au. 259200 IN NS ns.ripe.net.
-com.au. 259200 IN NS ns1.ausregistry.net.
-com.au. 259200 IN NS ns2.ausregistry.net.
-com.au. 259200 IN NS ns3.ausregistry.net.
-com.au. 259200 IN NS ns3.melbourneit.com.
-;; Received 387 bytes from 128.32.206.12#53(NS2.BERKELEY.EDU) in 10312 ms
- ;;; A little closer than before
-
- ;;; Ask ns4.ausregistry.net gave:
-com.au. 259200 IN NS ns1.ausregistry.net.
-com.au. 259200 IN NS ns2.ausregistry.net.
-com.au. 259200 IN NS ns3.ausregistry.net.
-com.au. 259200 IN NS ns4.ausregistry.net.
-com.au. 259200 IN NS ns3.melbourneit.com.
-com.au. 259200 IN NS dns1.telstra.net.
-com.au. 259200 IN NS au2ld.CSIRO.au.
-com.au. 259200 IN NS ns.ripe.net.
-com.au. 259200 IN NS audns01.syd.optus.net.
-;; Received 259 bytes from 137.39.1.3#53(ns4.ausregistry.net) in 606 ms
- ;;; Uh... yeah... I already knew this
- ;;; from what NS2.BERKELEY.EDU told me.
- ;;; ns4.ausregistry.net must have brain damage
-
- ;;; Ask ns1.ausregistry.net gave:
-rob.com.au. 86400 IN NS sy-dns02.tmns.net.au.
-rob.com.au. 86400 IN NS sy-dns01.tmns.net.au.
-;; Received 87 bytes from 203.18.56.41#53(ns1.ausregistry.net) in 372 ms
- ;;; Ah, much better. Something more useful.
-
- ;;; Ask sy-dns02.tmns.net.au gave:
-www.rob.com.au. 7200 IN A 139.134.5.123
-rob.com.au. 7200 IN NS sy-dns01.tmns.net.au.
-rob.com.au. 7200 IN NS sy-dns02.tmns.net.au.
-;; Received 135 bytes from 139.134.2.18#53(sy-dns02.tmns.net.au) in 525 ms
- ;;; FINALLY, THE ANSWER!
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/UNIX.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/UNIX.pm
deleted file mode 100644
index 7cff8c76960..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/UNIX.pm
+++ /dev/null
@@ -1,74 +0,0 @@
-package Net::DNS::Resolver::UNIX;
-#
-# $Id: UNIX.pm 482 2005-09-02 13:34:33Z olaf $
-#
-
-use strict;
-use vars qw(@ISA $VERSION);
-
-use Net::DNS::Resolver::Base ();
-
-@ISA = qw(Net::DNS::Resolver::Base);
-$VERSION = (qw$LastChangedRevision: 482 $)[1];
-
-my $resolv_conf = '/etc/resolv.conf';
-my $dotfile = '.resolv.conf';
-
-my @config_path;
-push(@config_path, $ENV{'HOME'}) if exists $ENV{'HOME'};
-push(@config_path, '.');
-
-sub init {
- my ($class) = @_;
-
- $class->read_config_file($resolv_conf) if -f $resolv_conf && -r _;
-
- foreach my $dir (@config_path) {
- my $file = "$dir/$dotfile";
- $class->read_config_file($file) if -f $file && -r _ && -o _;
- }
-
- $class->read_env;
-
- my $defaults = $class->defaults;
-
- if (!$defaults->{'domain'} && @{$defaults->{'searchlist'}}) {
- $defaults->{'domain'} = $defaults->{'searchlist'}[0];
- } elsif (!@{$defaults->{'searchlist'}} && $defaults->{'domain'}) {
- $defaults->{'searchlist'} = [ $defaults->{'domain'} ];
- }
-}
-
-1;
-__END__
-
-
-=head1 NAME
-
-Net::DNS::Resolver::UNIX - UNIX Resolver Class
-
-=head1 SYNOPSIS
-
- use Net::DNS::Resolver;
-
-=head1 DESCRIPTION
-
-This class implements the UNIX specific portions of C<Net::DNS::Resolver>.
-
-No user serviceable parts inside, see L<Net::DNS::Resolver|Net::DNS::Resolver>
-for all your resolving needs.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm
deleted file mode 100644
index a86d28b8ecf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm
+++ /dev/null
@@ -1,225 +0,0 @@
-package Net::DNS::Resolver::Win32;
-#
-# $Id: Win32.pm 588 2006-05-22 20:28:00Z olaf $
-#
-
-use strict;
-use vars qw(@ISA $VERSION);
-
-use Net::DNS::Resolver::Base ();
-
-@ISA = qw(Net::DNS::Resolver::Base);
-$VERSION = (qw$LastChangedRevision: 588 $)[1];
-
-use Win32::Registry;
-
-sub init {
-
- my $debug=0;
- my ($class) = @_;
-
- my $defaults = $class->defaults;
-
- my ($resobj, %keys);
-
- my $root = 'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters';
-
- unless ($main::HKEY_LOCAL_MACHINE->Open($root, $resobj)) {
- # Didn't work, maybe we are on 95/98/Me?
- $root = 'SYSTEM\CurrentControlSet\Services\VxD\MSTCP';
- $main::HKEY_LOCAL_MACHINE->Open($root, $resobj)
- or Carp::croak "can't read registry: $!";
- }
-
- $resobj->GetValues(\%keys)
- or Carp::croak "can't read registry values: $!";
-
- # Best effort to find a useful domain name for the current host
- # if domain ends up blank, we're probably (?) not connected anywhere
- # a DNS server is interesting either...
- my $domain = $keys{'Domain'}->[2] || $keys{'DhcpDomain'}->[2] || '';
-
- # If nothing else, the searchlist should probably contain our own domain
- # also see below for domain name devolution if so configured
- # (also remove any duplicates later)
- my $searchlist = "$domain ";
- $searchlist .= $keys{'SearchList'}->[2];
-
- # This is (probably) adequate on NT4
- # NameServer overrides DhcpNameServer if both exist
- my $nt4nameservers = $keys{'NameServer'}->[2] || $keys{'DhcpNameServer'}->[2];
- my $nameservers = "";
-
-
-
-#
-#
-# This code is agued to be broken see ticket rt.cpan.org ticket 11931
-# There seems to be sufficient reason to remove this code
-#
-# For details see https://rt.cpan.org/Ticket/Display.html?id=11931
-#
-#
-# #
-# # but on W2K/XP the registry layout is more advanced due to dynamically
-# # appearing connections. So we attempt to handle them, too...
-# # opt to silently fail if something isn't ok (maybe we're on NT4)
-# # drop any duplicates later, but must ignore NT4 style entries if in 2K/XP
-# my $dnsadapters;
-# $resobj->Open("DNSRegisteredAdapters", $dnsadapters);
-# if ($dnsadapters) {
-# my @adapters;
-# $dnsadapters->GetKeys(\@adapters);
-# foreach my $adapter (@adapters) {
-# my $regadapter;
-# $dnsadapters->Open($adapter, $regadapter);
-# if ($regadapter) {
-# my($type,$ns);
-# $regadapter->QueryValueEx("DNSServerAddresses", $type, $ns);
-# while (length($ns) >= 4) {
-# my $addr = join('.', unpack("C4", substr($ns,0,4,"")));
-# $nameservers .= " $addr";
-# }
-# }
-# }
-# }
-
-
-
-
- # This code was introduced by Hanno Stock, see ticket 1193 dd May 19 2006
- #
- # it should work on Win2K and XP and looks for the DNS services
- # using the BIND key
- #
-
- my $bind_linkage;
- my @sorted_interfaces;
- print ";; DNS: Getting sorted interface list\n" if $debug;
- $main::HKEY_LOCAL_MACHINE->Open('SYSTEM\CurrentControlSet\Services\Tcpip\Linkage',
- $bind_linkage);
- if($bind_linkage){
- my $bind_linkage_list;
- my $type;
- $bind_linkage->QueryValueEx('Bind', $type, $bind_linkage_list);
- if($bind_linkage_list){
- @sorted_interfaces = split(m/[^\w{}\\-]+/s, $bind_linkage_list);
- }
- foreach my $interface (@sorted_interfaces){
- $interface =~ s/^\\device\\//i;
- print ";; DNS:Interface: $interface\n" if $debug;
- }
- }
-
-
- my $interfaces;
- $resobj->Open("Interfaces", $interfaces);
- if ($interfaces) {
- my @ifacelist;
- if(@sorted_interfaces){
- @ifacelist = @sorted_interfaces;
- }else{
- $interfaces->GetKeys(\@ifacelist);
- }
- foreach my $iface (@ifacelist) {
- my $regiface;
- $interfaces->Open($iface, $regiface);
-
- if ($regiface) {
- my $ns;
- my $type;
- my $ip;
- my $ipdhcp;
- $regiface->QueryValueEx("IPAddress", $type, $ip);
- $regiface->QueryValueEx("DhcpIPAddress", $type, $ipdhcp);
- if (($ip && !($ip =~ /0\.0\.0\.0/)) || ($ipdhcp && !($ipdhcp =~ /0\.0
-\.0\.0/))) {
- # NameServer overrides DhcpNameServer if both exist
- $regiface->QueryValueEx("NameServer", $type, $ns);
- $regiface->QueryValueEx("DhcpNameServer", $type, $ns) unless $ns;
- $nameservers .= " $ns" if $ns;
- }
- }
- }
- }
- if (!$nameservers) {
- $nameservers = $nt4nameservers;
- }
-
- if ($domain) {
- $defaults->{'domain'} = $domain;
- }
-
- my $usedevolution = $keys{'UseDomainNameDevolution'}->[2];
- if ($searchlist) {
- # fix devolution if configured, and simultaneously make sure no dups (but keep the order)
- my @a;
- my %h;
- foreach my $entry (split(m/[\s,]+/, $searchlist)) {
- push(@a, $entry) unless $h{$entry};
- $h{$entry} = 1;
- if ($usedevolution) {
- # as long there's more than two pieces, cut
- while ($entry =~ m#\..+\.#) {
- $entry =~ s#^[^\.]+\.(.+)$#$1#;
- push(@a, $entry) unless $h{$entry};
- $h{$entry} = 1;
- }
- }
- }
- $defaults->{'searchlist'} = \@a;
- }
-
- if ($nameservers) {
- # remove blanks and dupes
- my @a;
- my %h;
- foreach my $ns (split(m/[\s,]+/, $nameservers)) {
- push @a, $ns unless (!$ns || $h{$ns});
- $h{$ns} = 1;
- }
- $defaults->{'nameservers'} = [map { m/(.*)/ } @a];
- }
-
- $class->read_env;
-
- if (!$defaults->{'domain'} && @{$defaults->{'searchlist'}}) {
- $defaults->{'domain'} = $defaults->{'searchlist'}[0];
- } elsif (!@{$defaults->{'searchlist'}} && $defaults->{'domain'}) {
- $defaults->{'searchlist'} = [ $defaults->{'domain'} ];
- }
-}
-
-1;
-__END__
-
-
-=head1 NAME
-
-Net::DNS::Resolver::Win32 - Windows Resolver Class
-
-=head1 SYNOPSIS
-
- use Net::DNS::Resolver;
-
-=head1 DESCRIPTION
-
-This class implements the windows specific portions of C<Net::DNS::Resolver>.
-
-No user serviceable parts inside, see L<Net::DNS::Resolver|Net::DNS::Resolver>
-for all your resolving needs.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Update.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Update.pm
deleted file mode 100644
index e4b38c47d34..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Update.pm
+++ /dev/null
@@ -1,200 +0,0 @@
-package Net::DNS::Update;
-#
-# $Id: Update.pm 517 2005-11-21 08:38:47Z olaf $
-#
-use strict;
-BEGIN {
- eval { require bytes; }
-}
-use vars qw($VERSION @ISA);
-
-use Net::DNS;
-
-@ISA = qw(Net::DNS::Packet);
-$VERSION = (qw$LastChangedRevision: 517 $)[1];
-
-=head1 NAME
-
-Net::DNS::Update - Create a DNS update packet
-
-=head1 SYNOPSIS
-
-C<use Net::DNS::Update;>
-
-=head1 DESCRIPTION
-
-C<Net::DNS::Update> is a subclass of C<Net::DNS::Packet>,
-to be used for making DNS dynamic updates. Programmers
-should refer to RFC 2136 for the semantics of dynamic updates.
-
-WARNING: This code is still under development. Please use with
-caution on production nameservers.
-
-=head1 METHODS
-
-=head2 new
-
- $packet = Net::DNS::Update->new;
- $packet = Net::DNS::Update->new('example.com');
- $packet = Net::DNS::Update->new('example.com', 'HS');
-
-Returns a C<Net::DNS::Update> object suitable for performing a DNS
-dynamic update. Specifically, it creates a packet with the header
-opcode set to UPDATE and the zone record type to SOA (per RFC 2136,
-Section 2.3).
-
-Programs must use the C<push> method to add RRs to the prerequisite,
-update, and additional sections before performing the update.
-
-Arguments are the zone name and the class. If the zone is omitted,
-the default domain will be taken from the resolver configuration.
-If the class is omitted, it defaults to IN.
-
-Future versions of C<Net::DNS> may provide a simpler interface
-for making dynamic updates.
-
-=cut
-
-sub new {
- my ($package, $zone, $class) = @_;
-
- unless ($zone) {
- my $res = Net::DNS::Resolver->new;
- $zone = ($res->searchlist)[0];
- return unless $zone;
- }
-
- my $type = 'SOA';
- $class ||= 'IN';
-
- my $self = $package->SUPER::new($zone, $type, $class) || return;
-
- $self->header->opcode('UPDATE');
- $self->header->rd(0);
-
- $self->{'seen'} = {};
-
-
- return $self;
-}
-
-
-=head1 EXAMPLES
-
-The first example below shows a complete program; subsequent examples
-show only the creation of the update packet.
-
-=head2 Add a new host
-
- #!/usr/bin/perl -w
-
- use Net::DNS;
- use strict;
-
- # Create the update packet.
- my $update = Net::DNS::Update->new('example.com');
-
- # Prerequisite is that no A records exist for the name.
- $update->push(pre => nxrrset('foo.example.com. A'));
-
- # Add two A records for the name.
- $update->push(update => rr_add('foo.example.com. 86400 A 192.168.1.2'));
- $update->push(update => rr_add('foo.example.com. 86400 A 172.16.3.4'));
-
- # Send the update to the zone's primary master.
- my $res = Net::DNS::Resolver->new;
- $res->nameservers('primary-master.example.com');
-
- my $reply = $res->send($update);
-
- # Did it work?
- if ($reply) {
- if ($reply->header->rcode eq 'NOERROR') {
- print "Update succeeded\n";
- } else {
- print 'Update failed: ', $reply->header->rcode, "\n";
- }
- } else {
- print 'Update failed: ', $res->errorstring, "\n";
- }
-
-=head2 Add an MX record for a name that already exists
-
- my $update = Net::DNS::Update->new('example.com');
- $update->push(pre => yxdomain('example.com'));
- $update->push(update => rr_add('example.com MX 10 mailhost.example.com'));
-
-=head2 Add a TXT record for a name that doesn't exist
-
- my $update = Net::DNS::Update->new('example.com');
- $update->push(pre => nxdomain('info.example.com'));
- $update->push(update => rr_add('info.example.com TXT "yabba dabba doo"'));
-
-=head2 Delete all A records for a name
-
- my $update = Net::DNS::Update->new('example.com');
- $update->push(pre => yxrrset('foo.example.com A'));
- $update->push(update => rr_del('foo.example.com A'));
-
-=head2 Delete all RRs for a name
-
- my $update = Net::DNS::Update->new('example.com');
- $update->push(pre => yxdomain('byebye.example.com'));
- $update->push(update => rr_del('byebye.example.com'));
-
-=head2 Perform a signed update
-
- my $key_name = 'tsig-key';
- my $key = 'awwLOtRfpGE+rRKF2+DEiw==';
-
- my $update = Net::DNS::Update->new('example.com');
- $update->push(update => rr_add('foo.example.com A 10.1.2.3'));
- $update->push(update => rr_add('bar.example.com A 10.4.5.6'));
- $update->sign_tsig($key_name, $key);
-
-=head2 Another way to perform a signed update
-
- my $key_name = 'tsig-key';
- my $key = 'awwLOtRfpGE+rRKF2+DEiw==';
-
- my $update = Net::DNS::Update->new('example.com');
- $update->push(update => rr_add('foo.example.com A 10.1.2.3'));
- $update->push(update => rr_add('bar.example.com A 10.4.5.6'));
- $update->push(additional => Net::DNS::RR->new("$key_name TSIG $key"));
-
-=head2 Perform a signed update with a customized TSIG record
-
- my $key_name = 'tsig-key';
- my $key = 'awwLOtRfpGE+rRKF2+DEiw==';
-
- my $tsig = Net::DNS::RR->new("$key_name TSIG $key");
- $tsig->fudge(60);
-
- my $update = Net::DNS::Update->new('example.com');
- $update->push(update => rr_add('foo.example.com A 10.1.2.3'));
- $update->push(update => rr_add('bar.example.com A 10.4.5.6'));
- $update->push(additional => $tsig);
-
-=head1 BUGS
-
-This code is still under development. Please use with caution on
-production nameservers.
-
-=head1 COPYRIGHT
-
-Copyright (c) 1997-2002 Michael Fuhr.
-
-Portions Copyright (c) 2002-2004 Chris Reinhardt.
-
-All rights reserved. This program is free software; you may redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Header>,
-L<Net::DNS::Packet>, L<Net::DNS::Question>, L<Net::DNS::RR>, RFC 2136,
-RFC 2845
-
-=cut
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/PadWalker.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/PadWalker.pm
deleted file mode 100644
index 7c14f3e38ea..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/PadWalker.pm
+++ /dev/null
@@ -1,154 +0,0 @@
-package PadWalker;
-
-use strict;
-use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
-
-require Exporter;
-require DynaLoader;
-
-require 5.008;
-
-@ISA = qw(Exporter DynaLoader);
-@EXPORT_OK = qw(peek_my peek_our closed_over peek_sub var_name);
-%EXPORT_TAGS = (all => \@EXPORT_OK);
-
-$VERSION = '1.7';
-
-bootstrap PadWalker $VERSION;
-
-sub peek_my;
-sub peek_our;
-sub closed_over;
-sub peek_sub;
-sub var_name;
-
-1;
-__END__
-
-=head1 NAME
-
-PadWalker - play with other peoples' lexical variables
-
-=head1 SYNOPSIS
-
- use PadWalker qw(peek_my peek_our peek_sub closed_over);
- ...
-
-=head1 DESCRIPTION
-
-PadWalker is a module which allows you to inspect (and even change!)
-lexical variables in any subroutine which called you. It will only
-show those variables which are in scope at the point of the call.
-
-PadWalker is particularly useful for debugging. It's even
-used by Perl's built-in debugger. (It can also be used
-for evil, of course.)
-
-I wouldn't recommend using PadWalker directly in production
-code, but it's your call. Some of the modules that use
-PadWalker internally are certainly safe for and useful
-in production.
-
-=over 4
-
-=item peek_my LEVEL
-
-=item peek_our LEVEL
-
-The LEVEL argument is interpreted just like the argument to C<caller>.
-So C<peek_my(0)> returns a reference to a hash of all the C<my>
-variables that are currently in scope;
-C<peek_my(1)> returns a reference to a hash of all the C<my>
-variables that are in scope at the point where the current
-sub was called, and so on.
-
-C<peek_our> works in the same way, except that it lists
-the C<our> variables rather than the C<my> variables.
-
-The hash associates each variable name with a reference
-to its value. The variable names include the sigil, so
-the variable $x is represented by the string '$x'.
-
-For example:
-
- my $x = 12;
- my $h = peek_my (0);
- ${$h->{'$x'}}++;
-
- print $x; # prints 13
-
-Or a more complex example:
-
- sub increment_my_x {
- my $h = peek_my (1);
- ${$h->{'$x'}}++;
- }
-
- my $x=5;
- increment_my_x;
- print $x; # prints 6
-
-=item peek_sub SUB
-
-The C<peek_sub> routine takes a coderef as its argument, and returns a hash
-of the C<my> variables used in that sub. The values will usually be undefined
-unless the sub is in use (i.e. in the call-chain) at the time. On the other
-hand:
-
- my $x = "Hello!";
- my $r = peek_sub(sub {$x})->{'$x'};
- print "$$r\n"; # prints 'Hello!'
-
-If the sub defines several C<my> variables with the same name, you'll get the
-last one. I don't know of any use for C<peek_sub> that isn't broken as a result
-of this, and it will probably be deprecated in a future version in favour of
-some alternative interface.
-
-=item closed_over SUB
-
-C<closed_over> is similar to C<peek_sub>, except that it only lists
-the C<my> variables which are used in the subroutine but defined outside:
-in other words, the variables which it closes over. This I<does> have
-reasonable uses: see L<Data::Dump::Streamer>, for example (a future version
-of which may in fact use C<closed_over>).
-
-=item var_name LEVEL, VAR_REF
-
-=item var_name SUB, VAR_REF
-
-C<var_name(sub, var_ref)> returns the name of the variable referred to
-by C<var_ref>, provided it is a C<my> variable used in the sub. The C<sub>
-parameter can be either a CODE reference or a number. If it's a number,
-it's treated the same way as the argument to C<peek_my>.
-
-For example,
-
- my $foo;
- print var_name(0, \$foo); # prints '$foo'
-
- sub my_name {
- return var_name(1, shift);
- }
- print my_name(\$foo); # ditto
-
-=back
-
-=head1 AUTHOR
-
-Robin Houston <robin@cpan.org>
-
-With contributions from Richard Soberberg, bug-spotting
-from Peter Scott and Dave Mitchell, and suggestions from
-demerphq.
-
-=head1 SEE ALSO
-
-Devel::LexAlias, Devel::Caller, Sub::Parameters
-
-=head1 COPYRIGHT
-
-Copyright (c) 2000-2007, Robin Houston. All Rights Reserved.
-This module is free software. It may be used, redistributed
-and/or modified under the same terms as Perl itself.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killall.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killall.pm
deleted file mode 100644
index 9e8f1642543..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killall.pm
+++ /dev/null
@@ -1,111 +0,0 @@
-#
-# Kill all instances of a process by pattern-matching the command-line
-#
-# (c) 2000 by Aaron Sherman, see documentation, below for details.
-
-package Proc::Killall;
-
-require Exporter;
-use Carp;
-use Proc::ProcessTable;
-use Config;
-use strict;
-use vars qw(@EXPORT @EXPORT_OK @ISA $VERSION);
-
-@EXPORT=qw(killall);
-@EXPORT_OK=qw(killall);
-@ISA=qw(Exporter);
-
-$VERSION='1.0';
-sub VERSION {$VERSION}
-
-# Private function for checking to see if a signal identifier is
-# valid.
-sub is_sig {
- my $sig = shift;
- if (defined($sig)) {
- if ($sig =~ /^-?(\d+)/) {
- my $n = $1;
- my @sigs = split ' ', $Config{sig_num};
- return grep {$_ == $n} @sigs;
- } elsif ($sig =~ /^[A-Z][A-Z0-9]+$/) {
- my @sigs = split ' ', $Config{sig_name};
- return grep {$_ eq $sig} @sigs;
- } else {
- return 0;
- }
- } else {
- return 0;
- }
-}
-
-# usage: killall(signal, pattern)
-# return: number of procs killed
-sub killall {
- croak("Usage: killall(signal, pattern)") unless @_==2;
- my $signal = shift;
- my $pat = shift;
- my $self = shift;
- $self = 0 unless defined $self;
- my $nkilled = 0;
- croak("killall: Unsupported signal: $signal") unless is_sig($signal);
- my $t = new Proc::ProcessTable;
- my $BANG = undef;
- foreach my $p (@{$t->table}) {
- my $cmndline = $p->{cmndline} || $p->{fname};
- if ($cmndline =~ /$pat/) {
- next unless $p->pid != $$ || $self;
- if (kill $signal, $p->pid) {
- $nkilled++;
- } else {
- $BANG = $!;
- }
- }
- }
- $! = $BANG if defined $BANG;
- return $nkilled;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-killall - Kill all instances of a process by pattern matching the command-line
-
-=head1 SYNOPSIS
-
- use Proc::Killall;
-
- killall('HUP', 'xterm'); # SIGHUP all xterms
- killall('KILL', '^netscape$'); # SIGKILL to "netscape"
-
-=head1 DESCRIPTION
-
-This module provides one function, C<killall()>, which takes two parameters:
-a signal name or number (see C<kill()>) and a process pattern. This pattern
-is matched against the process' command-line as the C<ps> command would
-show it (C<ps> is not used internally, instead a package called
-C<Proc::ProcessTable> is used).
-
-C<killall> searches the process table and sends that signal to all processes
-which match the pattern. The return value is the number of processes that
-were succesfully signaled. If any kills failed, the C<$!> variable
-will be set based on that last one that failed (even if a successful kill
-happened afterward).
-
-=head1 AUTHOR
-
-Written in 2000 by Aaron Sherman E<lt>ajs@ajs.comE<gt>
-
-C<Proc::Killall> is copyright 2000 by Aaron Sherman, and may be
-distributed under the same terms as Perl itself.
-
-=head1 PREREQUISITES
-
-C<Proc::ProcessTable> is required for C<Proc::Killall> to function.
-
-=head1 SEE ALSO
-
-L<perl>, L<perlfunc>, L<perlvar>, L<Proc::ProcessTable>
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killfam.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killfam.pm
deleted file mode 100644
index 6f785cb5616..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killfam.pm
+++ /dev/null
@@ -1,83 +0,0 @@
-$Proc::Killfam::VERSION = '1.0';
-
-package Proc::Killfam;
-
-use Exporter;
-use base qw/Exporter/;
-use subs qw/get_pids/;
-use vars qw/@EXPORT @EXPORT_OK $ppt_OK/;
-use strict;
-
-@EXPORT = qw/killfam/;
-@EXPORT_OK = qw/killfam/;
-
-BEGIN {
- $ppt_OK = 1;
- eval "require Proc::ProcessTable";
- if ($@) {
- $ppt_OK = 0;
- warn "Proc::ProcessTable missing, can't kill sub-children.";
- }
-}
-
-sub killfam {
-
- my($signal, @pids) = @_;
-
- if ($ppt_OK) {
- my $pt = Proc::ProcessTable->new;
- my(@procs) = @{$pt->table};
- my(@kids) = get_pids \@procs, @pids;
- @pids = (@pids, @kids);
- }
-
- kill $signal, @pids;
-
-} # end killfam
-
-sub get_pids {
-
- my($procs, @kids) = @_;
-
- my @pids;
- foreach my $kid (@kids) {
- foreach my $proc (@$procs) {
- if ($proc->ppid == $kid) {
- my $pid = $proc->pid;
- push @pids, $pid, get_pids $procs, $pid;
- }
- }
- }
- @pids;
-
-} # end get_pids
-
-1;
-
-__END__
-
-=head1 NAME
-
-Proc::Killfam - kill a list of pids, and all their sub-children
-
-=head1 SYNOPSIS
-
- use Proc::Killfam;
- killfam $signal, @pids;
-
-=head1 DESCRIPTION
-
-B<killfam> accepts the same arguments as the Perl builtin B<kill> command,
-but, additionally, recursively searches the process table for children and
-kills them as well.
-
-=head1 EXAMPLE
-
-B<killfam 'TERM', ($pid1, $pid2, @more_pids)>;
-
-=head1 KEYWORDS
-
-kill, signal
-
-=cut
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable.pm
deleted file mode 100644
index a82cdd4b42f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable.pm
+++ /dev/null
@@ -1,232 +0,0 @@
-package Proc::ProcessTable;
-
-require 5.6.0;
-
-use strict;
-use Carp;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD);
-
-require Exporter;
-require DynaLoader;
-
-@ISA = qw(Exporter DynaLoader);
-# Items to export into callers namespace by default. Note: do not export
-# names by default without a very good reason. Use EXPORT_OK instead.
-# Do not simply export all your public functions/methods/constants.
-@EXPORT = qw(
-
-);
-$VERSION = '0.42';
-
-sub AUTOLOAD {
- # This AUTOLOAD is used to 'autoload' constants from the constant()
- # XS function. If a constant is not found then control is passed
- # to the AUTOLOAD in AutoLoader.
-
- my $constname;
- ($constname = $AUTOLOAD) =~ s/.*:://;
- my $val = constant($constname, @_ ? $_[0] : 0);
- if ($! != 0) {
- if ($! =~ /Invalid/) {
- $AutoLoader::AUTOLOAD = $AUTOLOAD;
- goto &AutoLoader::AUTOLOAD;
- }
- else {
- croak "Your vendor has not defined Proc::ProcessTable macro $constname";
- }
- }
- eval "sub $AUTOLOAD { $val }";
- goto &$AUTOLOAD;
-}
-
-bootstrap Proc::ProcessTable $VERSION;
-
-# Preloaded methods go here.
-use Proc::ProcessTable::Process;
-use File::Find;
-
-my %TTYDEVS;
-my $TTYDEVSFILE = "/tmp/TTYDEVS"; # Where we store the TTYDEVS hash
-
-sub new
-{
- my ($this, %args) = @_;
- my $class = ref($this) || $this;
- my $self = {};
- bless $self, $class;
-
- mutex_new(1);
- if ( exists $args{cache_ttys} && $args{cache_ttys} == 1 )
- {
- $self->{cache_ttys} = 1
- }
-
- my $status = $self->initialize;
- mutex_new(0);
- if($status)
- {
- return $self;
- }
- else
- {
- return undef;
- }
-}
-
-sub initialize
-{
- my ($self) = @_;
-
- # Get the mapping of TTYs to device nums
- # reading/writing the cache if we are caching
- if( $self->{cache_ttys} )
- {
-
- require Storable;
-
- if( -r $TTYDEVSFILE )
- {
- $_ = Storable::retrieve($TTYDEVSFILE);
- %Proc::ProcessTable::TTYDEVS = %$_;
- }
- else
- {
- $self->_get_tty_list;
- my $old_umask = umask;
- umask 022;
- Storable::store(\%Proc::ProcessTable::TTYDEVS, $TTYDEVSFILE);
- umask $old_umask;
- }
- }
- else
- {
- $self->_get_tty_list;
- }
-
- # Call the os-specific initialization
- $self->_initialize_os;
-
- return 1;
-}
-
-###############################################
-# Generate a hash mapping TTY numbers to paths.
-# This might be faster in Table.xs,
-# but it's a lot more portable here
-###############################################
-sub _get_tty_list
-{
- my ($self) = @_;
- undef %Proc::ProcessTable::TTYDEVS;
- find({ wanted =>
- sub{
- $File::Find::prune = 1 if -d $_ && ! -x $_;
- my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
- $atime,$mtime,$ctime,$blksize,$blocks) = stat($File::Find::name);
- $Proc::ProcessTable::TTYDEVS{$rdev} = $File::Find::name
- if(-c $File::Find::name);
- }, no_chdir => 1},
- "/dev"
- );
-}
-
-# Apparently needed for mod_perl
-sub DESTROY {}
-
-1;
-__END__
-
-=head1 NAME
-
-Proc::ProcessTable - Perl extension to access the unix process table
-
-=head1 SYNOPSIS
-
- use Proc::ProcessTable;
-
- $p = new Proc::ProcessTable( 'cache_ttys' => 1 );
- @fields = $p->fields;
- $ref = $p->table;
-
-=head1 DESCRIPTION
-
-Perl interface to the unix process table.
-
-=head1 METHODS
-
-=over 4
-
-=item new
-
-Creates a new ProcessTable object. The constructor can take one flag:
-
-cache_ttys -- causes the constructor to look for and use a file that
-caches a mapping of tty names to device numbers, and to create the
-file if it doesn't exist (this file is /tmp/TTYDEVS by default). This
-feature requires the Storable module.
-
-=item fields
-
-Returns a list of the field names supported by the module on the
-current architecture.
-
-=item table
-
-Reads the process table and returns a reference to an array of
-Proc::ProcessTable::Process objects. Attributes of a process object
-are returned by accessors named for the attribute; for example, to get
-the uid of a process just do:
-
-$process->uid
-
-The priority and pgrp methods also allow values to be set, since these
-are supported directly by internal perl functions.
-
-=back
-
-=head1 EXAMPLES
-
- # A cheap and sleazy version of ps
- use Proc::ProcessTable;
-
- $FORMAT = "%-6s %-10s %-8s %-24s %s\n";
- $t = new Proc::ProcessTable;
- printf($FORMAT, "PID", "TTY", "STAT", "START", "COMMAND");
- foreach $p ( @{$t->table} ){
- printf($FORMAT,
- $p->pid,
- $p->ttydev,
- $p->state,
- scalar(localtime($p->start)),
- $p->cmndline);
- }
-
-
- # Dump all the information in the current process table
- use Proc::ProcessTable;
-
- $t = new Proc::ProcessTable;
-
- foreach $p (@{$t->table}) {
- print "--------------------------------\n";
- foreach $f ($t->fields){
- print $f, ": ", $p->{$f}, "\n";
- }
- }
-
-
-=head1 CAVEATS
-
-Please see the file README in the distribution for a list of supported
-operating systems. Please see the file PORTING for information on how
-to help make this work on your OS.
-
-=head1 AUTHOR
-
-D. Urist, durist@frii.com
-
-=head1 SEE ALSO
-
-Proc::ProcessTable::Process.pm, perl(1).
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable/Process.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable/Process.pm
deleted file mode 100644
index cc1f990f9e7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable/Process.pm
+++ /dev/null
@@ -1,182 +0,0 @@
-package Proc::ProcessTable::Process;
-
-use strict;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD);
-
-require Exporter;
-require AutoLoader;
-
-@ISA = qw(Exporter AutoLoader);
-# Items to export into callers namespace by default. Note: do not export
-# names by default without a very good reason. Use EXPORT_OK instead.
-# Do not simply export all your public functions/methods/constants.
-@EXPORT = qw(
-
-);
-$VERSION = '0.02';
-
-
-# Preloaded methods go here.
-use Carp;
-use File::Basename;
-
-sub AUTOLOAD {
- my $self = shift;
- my $type = ref($self)
- or croak "$self is not an object";
-
- my $name = $AUTOLOAD;
- $name =~ s/.*://; # strip fully-qualified portion
-
- unless (exists $self->{$name} ) {
- croak "Can't access `$name' field in class $type";
- }
-
- if (@_) {
- return $self->{$name} = shift;
- } else {
- return $self->{$name};
- }
-}
-
-########################################################
-# Kill; just a wrapper for perl's kill at the moment
-########################################################
-sub kill {
- my ($self, $signal) = @_;
- return( kill($signal, $self->pid) );
-}
-
-########################################################
-# Get/set accessors for priority and process group
-# (everything else is just a get, so handled by autoload)
-#########################################################
-
-# Hmmm... These could use the perl functions to get if not stored on the object
-sub priority {
- my ($self, $priority) = @_;
- if( defined($priority) ){
- setpriority(0, $self->pid, $priority);
- if( getpriority(0, $self->pid) == $priority ){ # Yuck; getpriority doesn't return a status
- $self->{priority} = $priority;
- }
- }
- return $self->{priority};
-}
-
-sub pgrp {
- my ($self, $pgrp) = @_;
- if( defined($pgrp) ){
- setpgrp($self->pid, $pgrp);
- if( getpgrp($self->pid) == $pgrp ){ # Ditto setpgrp
- $self->{pgrp} = $pgrp;
- }
- }
- return $self->{pgrp};
-}
-
-
-# Apparently needed for mod_perl
-sub DESTROY {}
-
-# Autoload methods go after =cut, and are processed by the autosplit program.
-
-1;
-__END__
-
-=head1 NAME
-
-Proc::ProcessTable::Process - Perl process objects
-
-=head1 SYNOPSIS
-
- $process->kill(9);
- $process->priority(19);
- $process->pgrp(500);
- $uid = $process->uid;
- ...
-
-=head1 DESCRIPTION
-
-This is a stub module to provide OO process attribute access for
-Proc::ProcessTable. Proc::ProcessTable::Process objects are
-constructed directly by Proc::ProcessTable; there is no constructor
-method, only accessors.
-
-=head1 METHODS
-
-=over 4
-
-=item kill
-
-Sends a signal to the process; just an aesthetic wrapper for perl's
-kill. Takes the signal (name or number) as an argument. Returns number
-of processes signalled.
-
-=item priority
-
-Get/set accessor; if called with a numeric argument, attempts to reset
-the process's priority to that number using perl's <B>setpriority
-function. Returns the process priority.
-
-=item pgrp
-
-Same as above for the process group.
-
-=item all other methods...
-
-are simple accessors that retrieve the process attributes for which
-they are named. Currently supported are:
-
- uid UID of process
- gid GID of process
- euid effective UID of process (Solaris only)
- egid effective GID of process (Solaris only)
- pid process ID
- ppid parent process ID
- spid sprod ID (IRIX only)
- pgrp process group
- sess session ID
- cpuid CPU ID of processor running on (IRIX only)
- priority priority of process
- ttynum tty number of process
- flags flags of process
- minflt minor page faults (Linux only)
- cminflt child minor page faults (Linux only)
- majflt major page faults (Linux only)
- cmajflt child major page faults (Linux only)
- utime user mode time (1/100s of seconds) (Linux only)
- stime kernel mode time (Linux only)
- cutime child utime (Linux only)
- cstime child stime (Linux only)
- time user + system time
- ctime child user + system time
- timensec user + system nanoseconds part (Solaris only)
- ctimensec child user + system nanoseconds (Solaris only)
- qtime cumulative cpu time (IRIX only)
- size virtual memory size (bytes)
- rss resident set size (bytes)
- wchan address of current system call
- fname file name
- start start time (seconds since the epoch)
- pctcpu percent cpu used since process started
- state state of process
- pctmem percent memory
- cmndline full command line of process
- ttydev path of process's tty
- clname scheduling class name (IRIX only)
-
-See the "README.osname" files in the distribution for more
-up-to-date information.
-
-=back
-
-=head1 AUTHOR
-
-D. Urist, durist@frii.com
-
-=head1 SEE ALSO
-
-Proc::ProcessTable.pm, perl(1).
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/example.pl b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/example.pl
deleted file mode 100644
index f84728428cb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/example.pl
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/perl
-
-use Proc::ProcessTable;
-
-$ref = new Proc::ProcessTable;
-
-foreach $proc (@{$ref->table}) {
- if(@ARGV) {
- next unless grep {$_ == $proc->{pid}} @ARGV;
- }
-
- print "--------------------------------\n";
- foreach $field ($ref->fields){
- print $field, ": ", $proc->{$field}, "\n";
- }
-}
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadKey.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadKey.pm
deleted file mode 100644
index 077ab5de1a1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadKey.pm
+++ /dev/null
@@ -1,564 +0,0 @@
-#
-# $Id: ReadKey.pm,v 2.23 2005/01/11 21:16:31 jonathan Exp $
-#
-
-=head1 NAME
-
-Term::ReadKey - A perl module for simple terminal control
-
-=head1 SYNOPSIS
-
- use Term::ReadKey;
- ReadMode 4; # Turn off controls keys
- while (not defined ($key = ReadKey(-1))) {
- # No key yet
- }
- print "Get key $key\n";
- ReadMode 0; # Reset tty mode before exiting
-
-=head1 DESCRIPTION
-
-Term::ReadKey is a compiled perl module dedicated to providing simple
-control over terminal driver modes (cbreak, raw, cooked, etc.,) support for
-non-blocking reads, if the architecture allows, and some generalized handy
-functions for working with terminals. One of the main goals is to have the
-functions as portable as possible, so you can just plug in "use
-Term::ReadKey" on any architecture and have a good likelyhood of it working.
-
-=over 8
-
-=item ReadMode MODE [, Filehandle]
-
-Takes an integer argument, which can currently be one of the following
-values:
-
- 0 Restore original settings.
- 1 Change to cooked mode.
- 2 Change to cooked mode with echo off.
- (Good for passwords)
- 3 Change to cbreak mode.
- 4 Change to raw mode.
- 5 Change to ultra-raw mode.
- (LF to CR/LF translation turned off)
-
- Or, you may use the synonyms:
-
- restore
- normal
- noecho
- cbreak
- raw
- ultra-raw
-
-These functions are automatically applied to the STDIN handle if no
-other handle is supplied. Modes 0 and 5 have some special properties
-worth mentioning: not only will mode 0 restore original settings, but it
-cause the next ReadMode call to save a new set of default settings. Mode
-5 is similar to mode 4, except no CR/LF translation is performed, and if
-possible, parity will be disabled (only if not being used by the terminal,
-however. It is no different from mode 4 under Windows.)
-
-If you are executing another program that may be changing the terminal mode,
-you will either want to say
-
- ReadMode 1
- system('someprogram');
- ReadMode 1;
-
-which resets the settings after the program has run, or:
-
- $somemode=1;
- ReadMode 0;
- system('someprogram');
- ReadMode 1;
-
-which records any changes the program may have made, before resetting the
-mode.
-
-=item ReadKey MODE [, Filehandle]
-
-Takes an integer argument, which can currently be one of the following
-values:
-
- 0 Perform a normal read using getc
- -1 Perform a non-blocked read
- >0 Perform a timed read
-
-(If the filehandle is not supplied, it will default to STDIN.) If there is
-nothing waiting in the buffer during a non-blocked read, then undef will be
-returned. Note that if the OS does not provide any known mechanism for
-non-blocking reads, then a C<ReadKey -1> can die with a fatal error. This
-will hopefully not be common.
-
-If MODE is greater then zero, then ReadKey will use it as a timeout value in
-seconds (fractional seconds are allowed), and won't return C<undef> until
-that time expires. (Note, again, that some OS's may not support this timeout
-behaviour.) If MODE is less then zero, then this is treated as a timeout
-of zero, and thus will return immediately if no character is waiting. A MODE
-of zero, however, will act like a normal getc.
-
-There are currently some limitations with this call under Windows. It may be
-possible that non-blocking reads will fail when reading repeating keys from
-more then one console.
-
-=item ReadLine MODE [, Filehandle]
-
-Takes an integer argument, which can currently be one of the following
-values:
-
- 0 Perform a normal read using scalar(<FileHandle>)
- -1 Perform a non-blocked read
- >0 Perform a timed read
-
-If there is nothing waiting in the buffer during a non-blocked read, then
-undef will be returned. Note that if the OS does not provide any known
-mechanism for non-blocking reads, then a C<ReadLine 1> can die with a fatal
-error. This will hopefully not be common. Note that a non-blocking test is
-only performed for the first character in the line, not the entire line.
-This call will probably B<not> do what you assume, especially with
-ReadMode's higher then 1. For example, pressing Space and then Backspace
-would appear to leave you where you started, but any timeouts would now
-be suspended.
-
-This call is currently not available under Windows.
-
-=item GetTerminalSize [Filehandle]
-
-Returns either an empty array if this operation is unsupported, or a four
-element array containing: the width of the terminal in characters, the
-height of the terminal in character, the width in pixels, and the height in
-pixels. (The pixel size will only be valid in some environments.)
-
-Under Windows, this function must be called with an "output" filehandle,
-such as STDOUT, or a handle opened to CONOUT$.
-
-=item SetTerminalSize WIDTH,HEIGHT,XPIX,YPIX [, Filehandle]
-
-Return -1 on failure, 0 otherwise. Note that this terminal size is only for
-B<informative> value, and changing the size via this mechanism will B<not>
-change the size of the screen. For example, XTerm uses a call like this when
-it resizes the screen. If any of the new measurements vary from the old, the
-OS will probably send a SIGWINCH signal to anything reading that tty or pty.
-
-This call does not work under Windows.
-
-=item GetSpeeds [, Filehandle]
-
-Returns either an empty array if the operation is unsupported, or a two
-value array containing the terminal in and out speeds, in B<decimal>. E.g,
-an in speed of 9600 baud and an out speed of 4800 baud would be returned as
-(9600,4800). Note that currently the in and out speeds will always be
-identical in some OS's. No speeds are reported under Windows.
-
-=item GetControlChars [, Filehandle]
-
-Returns an array containing key/value pairs suitable for a hash. The pairs
-consist of a key, the name of the control character/signal, and the value
-of that character, as a single character. This call does nothing under Windows.
-
-Each key will be an entry from the following list:
-
- DISCARD
- DSUSPEND
- EOF
- EOL
- EOL2
- ERASE
- ERASEWORD
- INTERRUPT
- KILL
- MIN
- QUIT
- QUOTENEXT
- REPRINT
- START
- STATUS
- STOP
- SUSPEND
- SWITCH
- TIME
-
-Thus, the following will always return the current interrupt character,
-regardless of platform.
-
- %keys = GetControlChars;
- $int = $keys{INTERRUPT};
-
-=item SetControlChars [, Filehandle]
-
-Takes an array containing key/value pairs, as a hash will produce. The pairs
-should consist of a key that is the name of a legal control
-character/signal, and the value should be either a single character, or a
-number in the range 0-255. SetControlChars will die with a runtime error if
-an invalid character name is passed or there is an error changing the
-settings. The list of valid names is easily available via
-
- %cchars = GetControlChars();
- @cnames = keys %cchars;
-
-This call does nothing under Windows.
-
-=back
-
-=head1 AUTHOR
-
-Kenneth Albanowski <kjahds@kjahds.com>
-
-Currently maintained by Jonathan Stowe <jns@gellyfish.com>
-
-=cut
-
-package Term::ReadKey;
-
-$VERSION = '2.30';
-
-require Exporter;
-require AutoLoader;
-require DynaLoader;
-use Carp;
-
-@ISA = qw(Exporter AutoLoader DynaLoader);
-
-# Items to export into callers namespace by default
-# (move infrequently used names to @EXPORT_OK below)
-
-@EXPORT = qw(
- ReadKey
- ReadMode
- ReadLine
- GetTerminalSize
- SetTerminalSize
- GetSpeed
- GetControlChars
- SetControlChars
-);
-
-@EXPORT_OK = qw();
-
-bootstrap Term::ReadKey;
-
-# Preloaded methods go here. Autoload methods go after __END__, and are
-# processed by the autosplit program.
-
-# Should we use LINES and COLUMNS to try and get the terminal size?
-# Change this to zero if you have systems where these are commonly
-# set to erroneous values. (But if either are nero zero, they won't be
-# used anyhow.)
-
-$UseEnv = 1;
-
-%modes = (
- original => 0,
- restore => 0,
- normal => 1,
- noecho => 2,
- cbreak => 3,
- raw => 4,
- 'ultra-raw' => 5
-);
-
-sub ReadMode
-{
- my ($mode) = $modes{ $_[0] };
- my ($fh) = normalizehandle( ( @_ > 1 ? $_[1] : \*STDIN ) );
- if ( defined($mode) ) { SetReadMode( $mode, $fh ) }
- elsif ( $_[0] =~ /^\d/ ) { SetReadMode( $_[0], $fh ) }
- else { croak("Unknown terminal mode `$_[0]'"); }
-}
-
-sub normalizehandle
-{
- my ($file) = @_;
-
- # print "Handle = $file\n";
- if ( ref($file) ) { return $file; } # Reference is fine
-
- # if($file =~ /^\*/) { return $file; } # Type glob is good
- if ( ref( \$file ) eq 'GLOB' ) { return $file; } # Glob is good
-
- # print "Caller = ",(caller(1))[0],"\n";
- return \*{ ( ( caller(1) )[0] ) . "::$file" };
-}
-
-sub GetTerminalSize
-{
- my ($file) = normalizehandle( ( @_ > 1 ? $_[1] : \*STDOUT ) );
- my (@results) = ();
- my (@fail);
-
- if ( &termsizeoptions() & 1 ) # VIO
- {
- @results = GetTermSizeVIO($file);
- push( @fail, "VIOGetMode call" );
- }
- elsif ( &termsizeoptions() & 2 ) # GWINSZ
- {
- @results = GetTermSizeGWINSZ($file);
- push( @fail, "TIOCGWINSZ ioctl" );
- }
- elsif ( &termsizeoptions() & 4 ) # GSIZE
- {
- @results = GetTermSizeGSIZE($file);
- push( @fail, "TIOCGSIZE ioctl" );
- }
- elsif ( &termsizeoptions() & 8 ) # WIN32
- {
- @results = GetTermSizeWin32($file);
- push( @fail, "Win32 GetConsoleScreenBufferInfo call" );
- }
- else
- {
- @results = ();
- }
-
- if ( @results < 4 and $UseEnv )
- {
- my ($C) = defined( $ENV{COLUMNS} ) ? $ENV{COLUMNS} : 0;
- my ($L) = defined( $ENV{LINES} ) ? $ENV{LINES} : 0;
- if ( ( $C >= 2 ) and ( $L >= 2 ) )
- {
- @results = ( $C + 0, $L + 0, 0, 0 );
- }
- push( @fail, "COLUMNS and LINES environment variables" );
- }
-
- if ( @results < 4 )
- {
- my ($prog) = "resize";
-
- # Workaround for Solaris path sillyness
- if ( -f "/usr/openwin/bin/resize" ) {
- $prog = "/usr/openwin/bin/resize";
- }
-
- my ($resize) = scalar(`$prog 2>/dev/null`);
- if (
- defined $resize
- and ( $resize =~ /COLUMNS\s*=\s*(\d+)/
- or $resize =~ /setenv\s+COLUMNS\s+'?(\d+)/ )
- )
- {
- $results[0] = $1;
- if ( $resize =~ /LINES\s*=\s*(\d+)/
- or $resize =~ /setenv\s+LINES\s+'?(\d+)/ )
- {
- $results[1] = $1;
- @results[ 2, 3 ] = ( 0, 0 );
- }
- else
- {
- @results = ();
- }
- }
- else
- {
- @results = ();
- }
- push( @fail, "resize program" );
- }
-
- if ( @results < 4 )
- {
- die "Unable to get Terminal Size."
- . join( "", map( " The $_ didn't work.", @fail ) );
- }
-
- @results;
-}
-
-if ( &blockoptions() & 1 ) # Use nodelay
-{
- if ( &blockoptions() & 2 ) #poll
- {
- eval <<'DONE';
- sub ReadKey {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if (defined $_[0] && $_[0] > 0) {
- if ($_[0]) {
- return undef if &pollfile($File,$_[0]) == 0;
- }
- }
- if (defined $_[0] && $_[0] < 0) {
- &setnodelay($File,1);
- }
- my ($value) = getc $File;
- if (defined $_[0] && $_[0] < 0) {
- &setnodelay($File,0);
- }
- $value;
- }
- sub ReadLine {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
-
- if (defined $_[0] && $_[0] > 0) {
- if ($_[0]) {
- return undef if &pollfile($File,$_[0]) == 0;
- }
- }
- if (defined $_[0] && $_[0] < 0) {
- &setnodelay($File,1)
- };
- my ($value) = scalar(<$File>);
- if ( defined $_[0] && $_[0]<0 ) {
- &setnodelay($File,0)
- };
- $value;
- }
-DONE
- }
- elsif ( &blockoptions() & 4 ) #select
- {
- eval <<'DONE';
- sub ReadKey {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if(defined $_[0] && $_[0]>0) {
- if($_[0]) {return undef if &selectfile($File,$_[0])==0}
- }
- if(defined $_[0] && $_[0]<0) {&setnodelay($File,1);}
- my($value) = getc $File;
- if(defined $_[0] && $_[0]<0) {&setnodelay($File,0);}
- $value;
- }
- sub ReadLine {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if(defined $_[0] && $_[0]>0) {
- if($_[0]) {return undef if &selectfile($File,$_[0])==0}
- }
- if(defined $_[0] && $_[0]<0) {&setnodelay($File,1)};
- my($value)=scalar(<$File>);
- if(defined $_[0] && $_[0]<0) {&setnodelay($File,0)};
- $value;
- }
-DONE
- }
- else
- { #nothing
- eval <<'DONE';
- sub ReadKey {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if(defined $_[0] && $_[0]>0) {
- # Nothing better seems to exist, so I just use time-of-day
- # to timeout the read. This isn't very exact, though.
- $starttime=time;
- $endtime=$starttime+$_[0];
- &setnodelay($File,1);
- my($value)=undef;
- while(time<$endtime) { # This won't catch wraparound!
- $value = getc $File;
- last if defined($value);
- }
- &setnodelay($File,0);
- return $value;
- }
- if(defined $_[0] && $_[0]<0) {&setnodelay($File,1);}
- my($value) = getc $File;
- if(defined $_[0] && $_[0]<0) {&setnodelay($File,0);}
- $value;
- }
- sub ReadLine {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if(defined $_[0] && $_[0]>0) {
- # Nothing better seems to exist, so I just use time-of-day
- # to timeout the read. This isn't very exact, though.
- $starttime=time;
- $endtime=$starttime+$_[0];
- &setnodelay($File,1);
- my($value)=undef;
- while(time<$endtime) { # This won't catch wraparound!
- $value = scalar(<$File>);
- last if defined($value);
- }
- &setnodelay($File,0);
- return $value;
- }
- if(defined $_[0] && $_[0]<0) {&setnodelay($File,1)};
- my($value)=scalar(<$File>);
- if(defined $_[0] && $_[0]<0) {&setnodelay($File,0)};
- $value;
- }
-DONE
- }
-}
-elsif ( &blockoptions() & 2 ) # Use poll
-{
- eval <<'DONE';
- sub ReadKey {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if(defined $_[0] && $_[0] != 0) {
- return undef if &pollfile($File,$_[0]) == 0
- }
- getc $File;
- }
- sub ReadLine {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if(defined $_[0] && $_[0]!=0) {
- return undef if &pollfile($File,$_[0]) == 0;
- }
- scalar(<$File>);
- }
-DONE
-}
-elsif ( &blockoptions() & 4 ) # Use select
-{
- eval <<'DONE';
- sub ReadKey {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if(defined $_[0] && $_[0] !=0 ) {
- return undef if &selectfile($File,$_[0])==0
- }
- getc $File;
- }
- sub ReadLine {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if(defined $_[0] && $_[0] != 0) {
- return undef if &selectfile($File,$_[0]) == 0;
- }
- scalar(<$File>);
- }
-DONE
-}
-elsif ( &blockoptions() & 8 ) # Use Win32
-{
- eval <<'DONE';
- sub ReadKey {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if ($_[0]) {
- Win32PeekChar($File, $_[0]);
- } else {
- getc $File;
- }
- #if ($_[0]!=0) {return undef if !Win32PeekChar($File, $_[0])};
- #getc $File;
- }
- sub ReadLine {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- #if ($_[0]!=0) {return undef if !Win32PeekChar($File, $_[0])};
- #scalar(<$File>);
- if($_[0])
- {croak("Non-blocking ReadLine is not supported on this architecture")}
- scalar(<$File>);
- }
-DONE
-}
-else
-{
- eval <<'DONE';
- sub ReadKey {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if($_[0])
- {croak("Non-blocking ReadKey is not supported on this architecture")}
- getc $File;
- }
- sub ReadLine {
- my($File) = normalizehandle((@_>1?$_[1]:\*STDIN));
- if($_[0])
- {croak("Non-blocking ReadLine is not supported on this architecture")}
- scalar(<$File>);
- }
-DONE
-}
-
-package Term::ReadKey; # return to package ReadKey so AutoSplit is happy
-1;
-
-__END__;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu.pm
deleted file mode 100644
index 392211d9242..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu.pm
+++ /dev/null
@@ -1,1921 +0,0 @@
-#
-# Gnu.pm --- The GNU Readline/History Library wrapper module
-#
-# $Id: Gnu.pm,v 1.97 2008-02-07 23:12:23+09 hiroo Exp $
-#
-# Copyright (c) 2008 Hiroo Hayashi. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-#
-# Some of documentation strings in this file are cited from the
-# GNU Readline/History Library Manual.
-
-package Term::ReadLine::Gnu;
-
-=head1 NAME
-
-Term::ReadLine::Gnu - Perl extension for the GNU Readline/History Library
-
-=head1 SYNOPSIS
-
- use Term::ReadLine;
- $term = new Term::ReadLine 'ProgramName';
- while ( defined ($_ = $term->readline('prompt>')) ) {
- ...
- }
-
-=head1 DESCRIPTION
-
-=head2 Overview
-
-This is an implementation of Term::ReadLine using the GNU
-Readline/History Library.
-
-For basic functions object oriented interface is provided. These are
-described in the section L<"Standard Methods"|"Standard Methods"> and
-L<"C<Term::ReadLine::Gnu> Functions"|"C<Term::ReadLine::Gnu> Functions">.
-
-This package also has the interface with the almost all functions and
-variables which are documented in the GNU Readline/History Library
-Manual. They are documented in the section
-L<"C<Term::ReadLine::Gnu> Functions"|"C<Term::ReadLine::Gnu> Functions">
-and
-L<"C<Term::ReadLine::Gnu> Variables"|"C<Term::ReadLine::Gnu> Variables">
-briefly. For more detail of the GNU Readline/History Library, see
-'GNU Readline Library Manual' and 'GNU History Library Manual'.
-
-The sample programs under C<eg/> directory and test programs under
-C<t/> directory in the C<Term::ReadLine::Gnu> distribution include
-many example of this module.
-
-=head2 Standard Methods
-
-These methods are standard methods defined by B<Term::ReadLine>.
-
-=cut
-
-use strict;
-use Carp;
-
-# This module can't be loaded directly.
-BEGIN {
- if (not defined $Term::ReadLine::VERSION) {
- croak <<END;
-It is invalid to load Term::ReadLine::Gnu directly. Please consult
-the Term::ReadLine documentation for more information.
-END
- }
-}
-
-{
- use Exporter ();
- use DynaLoader;
- use vars qw($VERSION @ISA @EXPORT_OK);
-
- $VERSION = '1.17';
-
- # Term::ReadLine::Gnu::AU makes a function in
- # `Term::ReadLine::Gnu::XS' as a method.
- # The namespace of Term::ReadLine::Gnu::AU is searched before ones
- # of other classes
- @ISA = qw(Term::ReadLine::Gnu::AU Term::ReadLine::Stub
- Exporter DynaLoader);
-
- @EXPORT_OK = qw(RL_PROMPT_START_IGNORE RL_PROMPT_END_IGNORE
- NO_MATCH SINGLE_MATCH MULT_MATCH
- ISFUNC ISKMAP ISMACR
- UNDO_DELETE UNDO_INSERT UNDO_BEGIN UNDO_END
- RL_STATE_NONE RL_STATE_INITIALIZING
- RL_STATE_INITIALIZED RL_STATE_TERMPREPPED
- RL_STATE_READCMD RL_STATE_METANEXT
- RL_STATE_DISPATCHING RL_STATE_MOREINPUT
- RL_STATE_ISEARCH RL_STATE_NSEARCH
- RL_STATE_SEARCH RL_STATE_NUMERICARG
- RL_STATE_MACROINPUT RL_STATE_MACRODEF
- RL_STATE_OVERWRITE RL_STATE_COMPLETING
- RL_STATE_SIGHANDLER RL_STATE_UNDOING
- RL_STATE_DONE);
-
- bootstrap Term::ReadLine::Gnu $VERSION; # DynaLoader
-}
-require Term::ReadLine::Gnu::XS;
-
-# Global Variables
-
-use vars qw(%Attribs %Features);
-
-# Each variable in the GNU Readline Library is tied to an entry of
-# this hash (%Attribs). By accessing the hash entry, you can read
-# and/or write the variable in the GNU Readline Library. See the
-# package definition of Term::ReadLine::Gnu::Var and following code
-# for more details.
-
-# Normal (non-tied) entries
-%Attribs = (
- MinLength => 1,
- do_expand => 0,
- completion_word => [],
- term_set => ['', '', '', ''],
- );
-%Features = (
- appname => 1, minline => 1, autohistory => 1,
- getHistory => 1, setHistory => 1, addHistory => 1,
- readHistory => 1, writeHistory => 1,
- preput => 1, attribs => 1, newTTY => 1,
- tkRunning => Term::ReadLine::Stub->Features->{'tkRunning'},
- ornaments => Term::ReadLine::Stub->Features->{'ornaments'},
- stiflehistory => 1,
- );
-
-sub Attribs { \%Attribs; }
-sub Features { \%Features; }
-
-#
-# GNU Readline/History Library constant definition
-# These are included in @EXPORT_OK.
-
-# I can define these variables in XS code to use the value defined in
-# readline.h, etc. But it needs some calling convention change and
-# will cause compatiblity problem. I hope the definition of these
-# constant value will not be changed.
-
-# for non-printing characters in prompt string
-sub RL_PROMPT_START_IGNORE { "\001"; }
-sub RL_PROMPT_END_IGNORE { "\002"; }
-
-# for rl_filename_quoting_function
-sub NO_MATCH { 0; }
-sub SINGLE_MATCH { 1; }
-sub MULT_MATCH { 2; }
-
-# for rl_generic_bind, rl_function_of_keyseq
-sub ISFUNC { 0; }
-sub ISKMAP { 1; }
-sub ISMACR { 2; }
-
-# for rl_add_undo
-sub UNDO_DELETE { 0; }
-sub UNDO_INSERT { 1; }
-sub UNDO_BEGIN { 2; }
-sub UNDO_END { 3; }
-
-# for rl_readline_state
-sub RL_STATE_NONE { 0x00000; } # no state; before first call
-sub RL_STATE_INITIALIZING { 0x00001; } # initializing
-sub RL_STATE_INITIALIZED { 0x00002; } # initialization done
-sub RL_STATE_TERMPREPPED { 0x00004; } # terminal is prepped
-sub RL_STATE_READCMD { 0x00008; } # reading a command key
-sub RL_STATE_METANEXT { 0x00010; } # reading input after ESC
-sub RL_STATE_DISPATCHING { 0x00020; } # dispatching to a command
-sub RL_STATE_MOREINPUT { 0x00040; } # reading more input in a command function
-sub RL_STATE_ISEARCH { 0x00080; } # doing incremental search
-sub RL_STATE_NSEARCH { 0x00100; } # doing non-inc search
-sub RL_STATE_SEARCH { 0x00200; } # doing a history search
-sub RL_STATE_NUMERICARG { 0x00400; } # reading numeric argument
-sub RL_STATE_MACROINPUT { 0x00800; } # getting input from a macro
-sub RL_STATE_MACRODEF { 0x01000; } # defining keyboard macro
-sub RL_STATE_OVERWRITE { 0x02000; } # overwrite mode
-sub RL_STATE_COMPLETING { 0x04000; } # doing completion
-sub RL_STATE_SIGHANDLER { 0x08000; } # in readline sighandler
-sub RL_STATE_UNDOING { 0x10000; } # doing an undo
-sub RL_STATE_DONE { 0x80000; } # done; accepted line
-
-#
-# Methods Definition
-#
-
-=over 4
-
-=item C<ReadLine>
-
-returns the actual package that executes the commands. If you have
-installed this package, possible value is C<Term::ReadLine::Gnu>.
-
-=cut
-
-sub ReadLine { 'Term::ReadLine::Gnu'; }
-
-=item C<new(NAME,[IN[,OUT]])>
-
-returns the handle for subsequent calls to following functions.
-Argument is the name of the application. Optionally can be followed
-by two arguments for C<IN> and C<OUT> file handles. These arguments
-should be globs.
-
-=cut
-
-# The origin of this function is Term::ReadLine::Perl.pm by Ilya Zakharevich.
-sub new {
- my $this = shift; # Package
- my $class = ref($this) || $this;
-
- my $name = shift;
-
- my $self = \%Attribs;
- bless $self, $class;
-
- # set rl_readline_name before .inputrc is read in rl_initialize()
- $Attribs{readline_name} = $name;
-
- # some version of Perl cause segmentation fault, if XS module
- # calls setenv() before the 1st assignment to $ENV{}.
- $ENV{_TRL_DUMMY} = '';
-
- # initialize the GNU Readline Library and termcap library
- $self->initialize();
-
- # enable ornaments to be compatible with perl5.004_05(?)
- unless ($ENV{PERL_RL} and $ENV{PERL_RL} =~ /\bo\w*=0/) {
- local $^W = 0; # Term::ReadLine is not warning flag free
- # Without the next line Term::ReadLine::Stub::ornaments is used.
- # Why does Term::ReadLine::Gnu::AU selects it at first?!!!
- # If you know why this happens, please let me know. Thanks.
- undef &Term::ReadLine::Gnu::ornaments;
- $self->ornaments(1);
- }
-
- if (!@_) {
- my ($IN,$OUT) = $self->findConsole();
- open(IN,"<$IN") || croak "Cannot open $IN for read";
- open(OUT,">$OUT") || croak "Cannot open $OUT for write";
- # borrowed from Term/ReadLine.pm
- my $sel = select(OUT);
- $| = 1; # for DB::OUT
- select($sel);
- $Attribs{instream} = \*IN;
- $Attribs{outstream} = \*OUT;
- } else {
- $Attribs{instream} = shift;
- $Attribs{outstream} = shift;
- }
-
- $self;
-}
-
-sub DESTROY {}
-
-=item C<readline(PROMPT[,PREPUT])>
-
-gets an input line, with actual C<GNU Readline> support. Trailing
-newline is removed. Returns C<undef> on C<EOF>. C<PREPUT> is an
-optional argument meaning the initial value of input.
-
-The optional argument C<PREPUT> is granted only if the value C<preput>
-is in C<Features>.
-
-C<PROMPT> may include some escape sequences. Use
-C<RL_PROMPT_START_IGNORE> to begin a sequence of non-printing
-characters, and C<RL_PROMPT_END_IGNORE> to end of such a sequence.
-
-=cut
-
-# to peacify -w
-$Term::ReadLine::registered = $Term::ReadLine::registered;
-
-sub readline { # should be ReadLine
- my $self = shift;
- my ($prompt, $preput) = @_;
-
- # ornament support (now prompt only)
- $prompt = ${$Attribs{term_set}}[0] . $prompt . ${$Attribs{term_set}}[1];
-
- # `completion_function' support for compatibility with
- # Term:ReadLine::Perl. Prefer $completion_entry_function, since a
- # program which uses $completion_entry_function should know
- # Term::ReadLine::Gnu and have better completion function using
- # the variable.
- $Attribs{completion_entry_function} = $Attribs{_trp_completion_function}
- if (!defined $Attribs{completion_entry_function}
- && defined $Attribs{completion_function});
-
- # TkRunning support
- if (not $Term::ReadLine::registered and $Term::ReadLine::toloop
- and defined &Tk::DoOneEvent) {
- $self->register_Tk;
- $Attribs{getc_function} = $Attribs{Tk_getc};
- }
-
- # call readline()
- my $line;
- if (defined $preput) {
- my $saved_startup_hook = $Attribs{startup_hook};
- $Attribs{startup_hook} = sub {
- $self->rl_insert_text($preput);
- &$saved_startup_hook
- if defined $saved_startup_hook;
- };
- $line = $self->rl_readline($prompt);
- $Attribs{startup_hook} = $saved_startup_hook;
- } else {
- $line = $self->rl_readline($prompt);
- }
- return undef unless defined $line;
-
- # history expansion
- if ($Attribs{do_expand}) {
- my $result;
- ($result, $line) = $self->history_expand($line);
- my $outstream = $Attribs{outstream};
- print $outstream "$line\n" if ($result);
-
- # return without adding line into history
- if ($result < 0 || $result == 2) {
- return ''; # don't return `undef' which means EOF.
- }
- }
-
- # add to history buffer
- $self->add_history($line)
- if (defined $self->{MinLength} && $self->{MinLength} > 0
- && length($line) >= $self->{MinLength});
-
- return $line;
-}
-
-=item C<AddHistory(LINE1, LINE2, ...)>
-
-adds the lines to the history of input, from where it can be used if
-the actual C<readline> is present.
-
-=cut
-
-use vars '*addhistory';
-*addhistory = \&AddHistory; # for backward compatibility
-
-sub AddHistory {
- my $self = shift;
- foreach (@_) {
- $self->add_history($_);
- }
-}
-
-=item C<IN>, C<OUT>
-
-return the file handles for input and output or C<undef> if
-C<readline> input and output cannot be used for Perl.
-
-=cut
-
-sub IN { $Attribs{instream}; }
-sub OUT { $Attribs{outstream}; }
-
-=item C<MinLine([MAX])>
-
-If argument C<MAX> is specified, it is an advice on minimal size of
-line to be included into history. C<undef> means do not include
-anything into history. Returns the old value.
-
-=cut
-
-sub MinLine {
- my $self = shift;
- my $old_minlength = $self->{MinLength};
- $self->{MinLength} = shift;
- $old_minlength;
-}
-
-# findConsole is defined in ReadLine.pm.
-
-=item C<findConsole>
-
-returns an array with two strings that give most appropriate names for
-files for input and output using conventions C<"E<lt>$in">, C<"E<gt>$out">.
-
-=item C<Attribs>
-
-returns a reference to a hash which describes internal configuration
-(variables) of the package. Names of keys in this hash conform to
-standard conventions with the leading C<rl_> stripped.
-
-See section "Variables" for supported variables.
-
-=item C<Features>
-
-Returns a reference to a hash with keys being features present in
-current implementation. Several optional features are used in the
-minimal interface: C<appname> should be present if the first argument
-to C<new> is recognized, and C<minline> should be present if
-C<MinLine> method is not dummy. C<autohistory> should be present if
-lines are put into history automatically (maybe subject to
-C<MinLine>), and C<addHistory> if C<AddHistory> method is not dummy.
-C<preput> means the second argument to C<readline> method is processed.
-C<getHistory> and C<setHistory> denote that the corresponding methods are
-present. C<tkRunning> denotes that a Tk application may run while ReadLine
-is getting input.
-
-=cut
-
-# Not tested yet. How do I use this?
-sub newTTY {
- my ($self, $in, $out) = @_;
- $Attribs{instream} = $in;
- $Attribs{outstream} = $out;
- my $sel = select($out);
- $| = 1; # for DB::OUT
- select($sel);
-}
-
-=back
-
-=cut
-
-# documented later
-sub CallbackHandlerInstall {
- my $self = shift;
- my ($prompt, $lhandler) = @_;
-
- $Attribs{_callback_handler} = $lhandler;
-
- # ornament support (now prompt only)
- $prompt = ${$Attribs{term_set}}[0] . $prompt . ${$Attribs{term_set}}[1];
-
- $Attribs{completion_entry_function} = $Attribs{_trp_completion_function}
- if (!defined $Attribs{completion_entry_function}
- && defined $Attribs{completion_function});
-
- $self->rl_callback_handler_install($prompt,
- \&Term::ReadLine::Gnu::XS::_ch_wrapper);
-}
-
-
-#
-# Additional Supported Methods
-#
-
-# Documentation is after '__END__' for efficiency.
-
-# for backward compatibility
-use vars qw(*AddDefun *BindKey *UnbindKey *ParseAndBind *StifleHistory);
-*AddDefun = \&add_defun;
-*BindKey = \&bind_key;
-*UnbindKey = \&unbind_key;
-*ParseAndBind = \&parse_and_bind;
-*StifleHistory = \&stifle_history;
-
-sub SetHistory {
- my $self = shift;
- $self->clear_history();
- $self->AddHistory(@_);
-}
-
-sub GetHistory {
- my $self = shift;
- $self->history_list();
-}
-
-sub ReadHistory {
- my $self = shift;
- ! $self->read_history_range(@_);
-}
-
-sub WriteHistory {
- my $self = shift;
- ! $self->write_history(@_);
-}
-
-#
-# Access Routines for GNU Readline/History Library Variables
-#
-package Term::ReadLine::Gnu::Var;
-use Carp;
-use strict;
-use vars qw(%_rl_vars);
-
-%_rl_vars
- = (
- rl_line_buffer => ['S', 0],
- rl_prompt => ['S', 1],
- rl_library_version => ['S', 2],
- rl_terminal_name => ['S', 3],
- rl_readline_name => ['S', 4],
- rl_basic_word_break_characters => ['S', 5],
- rl_basic_quote_characters => ['S', 6],
- rl_completer_word_break_characters => ['S', 7],
- rl_completer_quote_characters => ['S', 8],
- rl_filename_quote_characters => ['S', 9],
- rl_special_prefixes => ['S', 10],
- history_no_expand_chars => ['S', 11],
- history_search_delimiter_chars => ['S', 12],
- rl_executing_macro => ['S', 13], # GRL4.2
- history_word_delimiters => ['S', 14], # GRL4.2
-
- rl_point => ['I', 0],
- rl_end => ['I', 1],
- rl_mark => ['I', 2],
- rl_done => ['I', 3],
- rl_pending_input => ['I', 4],
- rl_completion_query_items => ['I', 5],
- rl_completion_append_character => ['C', 6],
- rl_ignore_completion_duplicates => ['I', 7],
- rl_filename_completion_desired => ['I', 8],
- rl_filename_quoting_desired => ['I', 9],
- rl_inhibit_completion => ['I', 10],
- history_base => ['I', 11],
- history_length => ['I', 12],
- history_max_entries => ['I', 13],
- max_input_history => ['I', 13], # before GRL 4.2
- history_write_timestamps => ['I', 14], # GRL 5.0
- history_expansion_char => ['C', 15],
- history_subst_char => ['C', 16],
- history_comment_char => ['C', 17],
- history_quotes_inhibit_expansion => ['I', 18],
- rl_erase_empty_line => ['I', 19], # GRL 4.0
- rl_catch_signals => ['I', 20], # GRL 4.0
- rl_catch_sigwinch => ['I', 21], # GRL 4.0
- rl_already_prompted => ['I', 22], # GRL 4.1
- rl_num_chars_to_read => ['I', 23], # GRL 4.2
- rl_dispatching => ['I', 24], # GRL 4.2
- rl_gnu_readline_p => ['I', 25], # GRL 4.2
- rl_readline_state => ['I', 26], # GRL 4.2
- rl_explicit_arg => ['I', 27], # GRL 4.2
- rl_numeric_arg => ['I', 28], # GRL 4.2
- rl_editing_mode => ['I', 29], # GRL 4.2
- rl_attempted_completion_over => ['I', 30], # GRL 4.2
- rl_completion_type => ['I', 31], # GRL 4.2
- rl_readline_version => ['I', 32], # GRL 4.2a
- rl_completion_suppress_append => ['I', 33], # GRL 4.3
- rl_completion_quote_character => ['C', 34], # GRL 5.0
- rl_completion_suppress_quote => ['I', 35], # GRL 5.0
- rl_completion_found_quote => ['I', 36], # GRL 5.0
- rl_completion_mark_symlink_dirs => ['I', 37], # GRL 4.3
- rl_prefer_env_winsize => ['I', 38], # GRL 5.1
-
- rl_startup_hook => ['F', 0],
- rl_event_hook => ['F', 1],
- rl_getc_function => ['F', 2],
- rl_redisplay_function => ['F', 3],
- rl_completion_entry_function => ['F', 4],
- rl_attempted_completion_function => ['F', 5],
- rl_filename_quoting_function => ['F', 6],
- rl_filename_dequoting_function => ['F', 7],
- rl_char_is_quoted_p => ['F', 8],
- rl_ignore_some_completions_function => ['F', 9],
- rl_directory_completion_hook => ['F', 10],
- history_inhibit_expansion_function => ['F', 11],
- rl_pre_input_hook => ['F', 12], # GRL 4.0
- rl_completion_display_matches_hook => ['F', 13], # GRL 4.0
- rl_completion_word_break_hook => ['F', 14], # GRL 5.0
- rl_prep_term_function => ['F', 15], # GRL 4.2
- rl_deprep_term_function => ['F', 16], # GRL 4.2
-
- rl_instream => ['IO', 0],
- rl_outstream => ['IO', 1],
-
- rl_executing_keymap => ['K', 0],
- rl_binding_keymap => ['K', 1],
-
- rl_last_func => ['LF', 0],
- );
-
-sub TIESCALAR {
- my $class = shift;
- my $name = shift;
- return bless \$name, $class;
-}
-
-sub FETCH {
- my $self = shift;
- confess "wrong type" unless ref $self;
-
- my $name = $$self;
- if (! defined $_rl_vars{$name}) {
- confess "Term::ReadLine::Gnu::Var::FETCH: Unknown variable name `$name'\n";
- return undef ;
- }
-
- my ($type, $id) = @{$_rl_vars{$name}};
- if ($type eq 'S') {
- return _rl_fetch_str($id);
- } elsif ($type eq 'I') {
- return _rl_fetch_int($id);
- } elsif ($type eq 'C') {
- return chr(_rl_fetch_int($id));
- } elsif ($type eq 'F') {
- return _rl_fetch_function($id);
- } elsif ($type eq 'IO') {
- return _rl_fetch_iostream($id);
- } elsif ($type eq 'K') {
- return _rl_fetch_keymap($id);
- } elsif ($type eq 'LF') {
- return _rl_fetch_last_func();
- } else {
- carp "Term::ReadLine::Gnu::Var::FETCH: Illegal type `$type'\n";
- return undef;
- }
-}
-
-sub STORE {
- my $self = shift;
- confess "wrong type" unless ref $self;
-
- my $name = $$self;
- if (! defined $_rl_vars{$name}) {
- confess "Term::ReadLine::Gnu::Var::STORE: Unknown variable name `$name'\n";
- return undef ;
- }
-
- my $value = shift;
- my ($type, $id) = @{$_rl_vars{$name}};
- if ($type eq 'S') {
- if ($name eq 'rl_line_buffer') {
- return _rl_store_rl_line_buffer($value);
- } else {
- return _rl_store_str($value, $id);
- }
- } elsif ($type eq 'I') {
- return _rl_store_int($value, $id);
- } elsif ($type eq 'C') {
- return chr(_rl_store_int(ord($value), $id));
- } elsif ($type eq 'F') {
- return _rl_store_function($value, $id);
- } elsif ($type eq 'IO') {
- return _rl_store_iostream($value, $id);
- } elsif ($type eq 'K' || $type eq 'LF') {
- carp "Term::ReadLine::Gnu::Var::STORE: read only variable `$name'\n";
- return undef;
- } else {
- carp "Term::ReadLine::Gnu::Var::STORE: Illegal type `$type'\n";
- return undef;
- }
-}
-
-package Term::ReadLine::Gnu;
-use Carp;
-use strict;
-
-#
-# set value of %Attribs
-#
-
-# Tie all Readline/History variables
-foreach (keys %Term::ReadLine::Gnu::Var::_rl_vars) {
- my $name;
- ($name = $_) =~ s/^rl_//; # strip leading `rl_'
- tie $Attribs{$name}, 'Term::ReadLine::Gnu::Var', $_;
-}
-
-# add reference to some functions
-{
- my ($name, $fname);
- no strict 'refs'; # allow symbolic reference
- map {
- ($name = $_) =~ s/^rl_//; # strip leading `rl_'
- $fname = 'Term::ReadLine::Gnu::XS::' . $_;
- $Attribs{$name} = \&$fname; # symbolic reference
- } qw(rl_getc
- rl_redisplay
- rl_callback_read_char
- rl_display_match_list
- rl_filename_completion_function
- rl_username_completion_function
- list_completion_function
- _trp_completion_function);
- # auto-split subroutine cannot be processed in the map loop above
- use strict 'refs';
- $Attribs{shadow_redisplay} = \&Term::ReadLine::Gnu::XS::shadow_redisplay;
- $Attribs{Tk_getc} = \&Term::ReadLine::Gnu::XS::Tk_getc;
- $Attribs{list_completion_function} = \&Term::ReadLine::Gnu::XS::list_completion_function;
-}
-
-package Term::ReadLine::Gnu::AU;
-use Carp;
-no strict qw(refs vars);
-
-sub AUTOLOAD {
- { $AUTOLOAD =~ s/.*:://; } # preserve match data
- my $name;
- if (exists $Term::ReadLine::Gnu::XS::{"rl_$AUTOLOAD"}) {
- $name = "Term::ReadLine::Gnu::XS::rl_$AUTOLOAD";
- } elsif (exists $Term::ReadLine::Gnu::XS::{"$AUTOLOAD"}) {
- $name = "Term::ReadLine::Gnu::XS::$AUTOLOAD";
- } else {
- croak "Cannot do `$AUTOLOAD' in Term::ReadLine::Gnu";
- }
- local $^W = 0; # Why is this line necessary ?
- *$AUTOLOAD = sub { shift; &$name(@_); };
- goto &$AUTOLOAD;
-}
-1;
-__END__
-
-
-=head2 C<Term::ReadLine::Gnu> Functions
-
-All these GNU Readline/History Library functions are callable via
-method interface and have names which conform to standard conventions
-with the leading C<rl_> stripped.
-
-Almost methods have lower level functions in
-C<Term::ReadLine::Gnu::XS> package. To use them full qualified name
-is required. Using method interface is preferred.
-
-=over 4
-
-=item Readline Convenience Functions
-
-=over 4
-
-=item Naming Function
-
-=over 4
-
-=item C<add_defun(NAME, FUNC [,KEY=-1])>
-
-Add name to the Perl function C<FUNC>. If optional argument C<KEY> is
-specified, bind it to the C<FUNC>. Returns reference to
-C<FunctionPtr>.
-
- Example:
- # name name `reverse-line' to a function reverse_line(),
- # and bind it to "\C-t"
- $term->add_defun('reverse-line', \&reverse_line, ord "\ct");
-
-=back
-
-=item Selecting a Keymap
-
-=over 4
-
-=item C<make_bare_keymap>
-
- Keymap rl_make_bare_keymap()
-
-=item C<copy_keymap(MAP)>
-
- Keymap rl_copy_keymap(Keymap|str map)
-
-=item C<make_keymap>
-
- Keymap rl_make_keymap()
-
-=item C<discard_keymap(MAP)>
-
- Keymap rl_discard_keymap(Keymap|str map)
-
-=item C<get_keymap>
-
- Keymap rl_get_keymap()
-
-=item C<set_keymap(MAP)>
-
- Keymap rl_set_keymap(Keymap|str map)
-
-=item C<get_keymap_by_name(NAME)>
-
- Keymap rl_get_keymap_by_name(str name)
-
-=item C<get_keymap_name(MAP)>
-
- str rl_get_keymap_name(Keymap map)
-
-=back
-
-=item Binding Keys
-
-=over 4
-
-=item C<bind_key(KEY, FUNCTION [,MAP])>
-
- int rl_bind_key(int key, FunctionPtr|str function,
- Keymap|str map = rl_get_keymap())
-
-Bind C<KEY> to the C<FUNCTION>. C<FUNCTION> is the name added by the
-C<add_defun> method. If optional argument C<MAP> is specified, binds
-in C<MAP>. Returns non-zero in case of error.
-
-=item C<bind_key_if_unbound(KEY, FUNCTION [,MAP])>
-
- int rl_bind_key_if_unbound(int key, FunctionPtr|str function,
- Keymap|str map = rl_get_keymap()) #GRL5.0
-
-=item C<unbind_key(KEY [,MAP])>
-
- int rl_unbind_key(int key, Keymap|str map = rl_get_keymap())
-
-Bind C<KEY> to the null function. Returns non-zero in case of error.
-
-=item C<unbind_function(FUNCTION [,MAP])>
-
- int rl_unbind_function(FunctionPtr|str function,
- Keymap|str map = rl_get_keymap())
-
-=item C<unbind_command(COMMAND [,MAP])>
-
- int rl_unbind_command(str command,
- Keymap|str map = rl_get_keymap())
-
-=item C<bind_keyseq(KEYSEQ, FUNCTION [,MAP])>
-
- int rl_bind_keyseq(str keyseq, FunctionPtr|str function,
- Keymap|str map = rl_get_keymap()) # GRL 5.0
-
-=item C<set_key(KEYSEQ, FUNCTION [,MAP])>
-
- int rl_set_key(str keyseq, FunctionPtr|str function,
- Keymap|str map = rl_get_keymap())
-
-=item C<bind_keyseq_if_unbound(KEYSEQ, FUNCTION [,MAP])>
-
- int rl_bind_keyseq_if_unbound(str keyseq, FunctionPtr|str function,
- Keymap|str map = rl_get_keymap()) # GRL 5.0
-
-=item C<generic_bind(TYPE, KEYSEQ, DATA, [,MAP])>
-
- int rl_generic_bind(int type, str keyseq,
- FunctionPtr|Keymap|str data,
- Keymap|str map = rl_get_keymap())
-
-=item C<parse_and_bind(LINE)>
-
- void rl_parse_and_bind(str line)
-
-Parse C<LINE> as if it had been read from the F<~/.inputrc> file and
-perform any key bindings and variable assignments found. For more
-detail see 'GNU Readline Library Manual'.
-
-=item C<read_init_file([FILENAME])>
-
- int rl_read_init_file(str filename = '~/.inputrc')
-
-=back
-
-=item Associating Function Names and Bindings
-
-=over 4
-
-=item C<named_function(NAME)>
-
- FunctionPtr rl_named_function(str name)
-
-=item C<get_function_name(FUNCTION)>
-
- str rl_get_function_name(FunctionPtr function)
-
-=item C<function_of_keyseq(KEYMAP [,MAP])>
-
- (FunctionPtr|Keymap|str data, int type)
- rl_function_of_keyseq(str keyseq,
- Keymap|str map = rl_get_keymap())
-
-=item C<invoking_keyseqs(FUNCTION [,MAP])>
-
- (@str) rl_invoking_keyseqs(FunctionPtr|str function,
- Keymap|str map = rl_get_keymap())
-
-=item C<function_dumper([READABLE])>
-
- void rl_function_dumper(int readable = 0)
-
-=item C<list_funmap_names>
-
- void rl_list_funmap_names()
-
-=item C<funmap_names>
-
- (@str) rl_funmap_names()
-
-=item C<add_funmap_entry(NAME, FUNCTION)>
-
- int rl_add_funmap_entry(char *name, FunctionPtr|str function)
-
-=back
-
-=item Allowing Undoing
-
-=over 4
-
-=item C<begin_undo_group>
-
- int rl_begin_undo_group()
-
-=item C<end_undo_group>
-
- int rl_end_undo_group()
-
-=item C<add_undo(WHAT, START, END, TEXT)>
-
- int rl_add_undo(int what, int start, int end, str text)
-
-=item C<free_undo_list>
-
- void rl_free_undo_list()
-
-=item C<do_undo>
-
- int rl_do_undo()
-
-=item C<modifying([START [,END]])>
-
- int rl_modifying(int start = 0, int end = rl_end)
-
-=back
-
-=item Redisplay
-
-=over 4
-
-=item C<redisplay>
-
- void rl_redisplay()
-
-=item C<forced_update_display>
-
- int rl_forced_update_display()
-
-=item C<on_new_line>
-
- int rl_on_new_line()
-
-=item C<on_new_line_with_prompt>
-
- int rl_on_new_line_with_prompt() # GRL 4.1
-
-=item C<reset_line_state>
-
- int rl_reset_line_state()
-
-=item C<rl_show_char(C)>
-
- int rl_show_char(int c)
-
-=item C<message(FMT[, ...])>
-
- int rl_message(str fmt, ...)
-
-=item C<crlf>
-
- int rl_crlf() # GRL 4.2
-
-=item C<clear_message>
-
- int rl_clear_message()
-
-=item C<save_prompt>
-
- void rl_save_prompt()
-
-=item C<restore_prompt>
-
- void rl_restore_prompt()
-
-=item C<expand_prompt(PROMPT)>
-
- int rl_expand_prompt(str prompt) # GRL 4.2
-
-=item C<set_prompt(PROMPT)>
-
- int rl_set_prompt(const str prompt) # GRL 4.2
-
-=back
-
-=item Modifying Text
-
-=over 4
-
-=item C<insert_text(TEXT)>
-
- int rl_insert_text(str text)
-
-=item C<delete_text([START [,END]])>
-
- int rl_delete_text(int start = 0, int end = rl_end)
-
-=item C<copy_text([START [,END]])>
-
- str rl_copy_text(int start = 0, int end = rl_end)
-
-=item C<kill_text([START [,END]])>
-
- int rl_kill_text(int start = 0, int end = rl_end)
-
-=item C<push_macro_input(MACRO)>
-
- int rl_push_macro_input(str macro)
-
-=back
-
-=item Character Input
-
-=over 4
-
-=item C<read_key>
-
- int rl_read_key()
-
-=item C<getc(STREAM)>
-
- int rl_getc(FILE *STREAM)
-
-=item C<stuff_char(C)>
-
- int rl_stuff_char(int c)
-
-=item C<execute_next(C)>
-
- int rl_execute_next(int c) # GRL 4.2
-
-=item C<clear_pending_input()>
-
- int rl_clear_pending_input() # GRL 4.2
-
-=item C<set_keyboard_input_timeout(uSEC)>
-
- int rl_set_keyboard_input_timeout(int usec) # GRL 4.2
-
-=back
-
-=item Terminal Management
-
-=over 4
-
-=item C<prep_terminal(META_FLAG)>
-
- void rl_prep_terminal(int META_FLAG) # GRL 4.2
-
-=item C<deprep_terminal()>
-
- void rl_deprep_terminal() # GRL 4.2
-
-=item C<tty_set_default_bindings(KMAP)>
-
- void rl_tty_set_default_bindings([Keymap KMAP]) # GRL 4.2
-
-=item C<tty_unset_default_bindings(KMAP)>
-
- void rl_tty_unset_default_bindings([Keymap KMAP]) # GRL 5.0
-
-=item C<reset_terminal([TERMINAL_NAME])>
-
- int rl_reset_terminal(str terminal_name = getenv($TERM)) # GRL 4.2
-
-=back
-
-=item Utility Functions
-
-=over 4
-
-=item C<replace_line(TEXT [,CLEAR_UNDO]>
-
- int rl_replace_line(str text, int clear_undo) # GRL 4.3
-
-=item C<initialize>
-
- int rl_initialize()
-
-=item C<ding>
-
- int rl_ding()
-
-=item C<alphabetic(C)>
-
- int rl_alphabetic(int C)
-
-=item C<display_match_list(MATCHES [,LEN [,MAX]])>
-
- void rl_display_match_list(\@matches, len = $#maches, max) # GRL 4.0
-
-Since the first element of an array @matches as treated as a possible
-completion, it is not displayed. See the descriptions of
-C<completion_matches()>.
-
-When C<MAX> is ommited, the max length of an item in @matches is used.
-
-=back
-
-=item Miscellaneous Functions
-
-=over 4
-
-=item C<macro_bind(KEYSEQ, MACRO [,MAP])>
-
- int rl_macro_bind(const str keyseq, const str macro, Keymap map)
-
-=item C<macro_dumper(READABLE)>
-
- int rl_macro_dumper(int readline)
-
-=item C<variable_bind(VARIABLE, VALUE)>
-
- int rl_variable_bind(const str variable, const str value)
-
-=item C<variable_value(VARIABLE)>
-
- str rl_variable_value(const str variable) # GRL 5.1
-
-=item C<variable_dumper(READABLE)>
-
- int rl_variable_dumper(int readline)
-
-=item C<set_paren_blink_timeout(uSEC)>
-
- int rl_set_paren_blink_timeout(usec) # GRL 4.2
-
-=item C<get_termcap(cap)>
-
- str rl_get_termcap(cap)
-
-=back
-
-=item Alternate Interface
-
-=over 4
-
-=item C<callback_handler_install(PROMPT, LHANDLER)>
-
- void rl_callback_handler_install(str prompt, pfunc lhandler)
-
-=item C<callback_read_char>
-
- void rl_callback_read_char()
-
-=item C<callback_handler_remove>
-
- void rl_callback_handler_remove()
-
-=back
-
-=back
-
-=item Readline Signal Handling
-
-=over 4
-
-=item C<cleanup_after_signal>
-
- void rl_cleanup_after_signal() # GRL 4.0
-
-=item C<free_line_state>
-
- void rl_free_line_state() # GRL 4.0
-
-=item C<reset_after_signal>
-
- void rl_reset_after_signal() # GRL 4.0
-
-=item C<resize_terminal>
-
- void rl_resize_terminal() # GRL 4.0
-
-=item C<set_screen_size(ROWS, COLS)>
-
- void rl_set_screen_size(int ROWS, int COLS) # GRL 4.2
-
-=item C<get_screen_size()>
-
- (int rows, int cols) rl_get_screen_size() # GRL 4.2
-
-=item C<reset_screen_size()>
-
- void rl_reset_screen_size() # GRL 5.1
-
-=item C<set_signals>
-
- int rl_set_signals() # GRL 4.0
-
-=item C<clear_signals>
-
- int rl_clear_signals() # GRL 4.0
-
-=back
-
-=item Completion Functions
-
-=over 4
-
-=item C<complete_internal([WHAT_TO_DO])>
-
- int rl_complete_internal(int what_to_do = TAB)
-
-=item C<completion_mode(FUNCTION)>
-
- int rl_completion_mode(FunctionPtr|str function)
-
-=item C<completion_matches(TEXT [,FUNC])>
-
- (@str) rl_completion_matches(str text,
- pfunc func = filename_completion_function)
-
-=item C<filename_completion_function(TEXT, STATE)>
-
- str rl_filename_completion_function(str text, int state)
-
-=item C<username_completion_function(TEXT, STATE)>
-
- str rl_username_completion_function(str text, int state)
-
-=item C<list_completion_function(TEXT, STATE)>
-
- str list_completion_function(str text, int state)
-
-=back
-
-=item History Functions
-
-=over 4
-
-=item Initializing History and State Management
-
-=over 4
-
-=item C<using_history>
-
- void using_history()
-
-=back
-
-=item History List Management
-
-=over 4
-
-=item C<addhistory(STRING[, STRING, ...])>
-
- void add_history(str string)
-
-=item C<StifleHistory(MAX)>
-
- int stifle_history(int max|undef)
-
-stifles the history list, remembering only the last C<MAX> entries.
-If C<MAX> is undef, remembers all entries. This is a replacement
-of unstifle_history().
-
-=item C<unstifle_history>
-
- int unstifle_history()
-
-This is equivalent with 'stifle_history(undef)'.
-
-=item C<SetHistory(LINE1 [, LINE2, ...])>
-
-sets the history of input, from where it can be used if the actual
-C<readline> is present.
-
-=item C<add_history_time(STRING)>
-
- void add_history_time(str string) # GRL 5.0
-
-=item C<remove_history(WHICH)>
-
- str remove_history(int which)
-
-=item C<replace_history_entry(WHICH, LINE)>
-
- str replace_history_entry(int which, str line)
-
-=item C<clear_history>
-
- void clear_history()
-
-=item C<history_is_stifled>
-
- int history_is_stifled()
-
-=back
-
-=item Information About the History List
-
-=over 4
-
-=item C<where_history>
-
- int where_history()
-
-=item C<current_history>
-
- str current_history()
-
-=item C<history_get(OFFSET)>
-
- str history_get(offset)
-
-=item C<history_get_time(OFFSET)>
-
- time_t history_get_time(offset)
-
-=item C<history_total_bytes>
-
- int history_total_bytes()
-
-=item C<GetHistory>
-
-returns the history of input as a list, if actual C<readline> is present.
-
-=back
-
-=item Moving Around the History List
-
-=over 4
-
-=item C<history_set_pos(POS)>
-
- int history_set_pos(int pos)
-
-=item C<previous_history>
-
- str previous_history()
-
-=item C<next_history>
-
- str next_history()
-
-=back
-
-=item Searching the History List
-
-=over 4
-
-=item C<history_search(STRING [,DIRECTION])>
-
- int history_search(str string, int direction = -1)
-
-=item C<history_search_prefix(STRING [,DIRECTION])>
-
- int history_search_prefix(str string, int direction = -1)
-
-=item C<history_search_pos(STRING [,DIRECTION [,POS]])>
-
- int history_search_pos(str string,
- int direction = -1,
- int pos = where_history())
-
-=back
-
-=item Managing the History File
-
-=over 4
-
-=item C<ReadHistory([FILENAME [,FROM [,TO]]])>
-
- int read_history(str filename = '~/.history',
- int from = 0, int to = -1)
-
- int read_history_range(str filename = '~/.history',
- int from = 0, int to = -1)
-
-adds the contents of C<FILENAME> to the history list, a line at a
-time. If C<FILENAME> is false, then read from F<~/.history>. Start
-reading at line C<FROM> and end at C<TO>. If C<FROM> is omitted or
-zero, start at the beginning. If C<TO> is omitted or less than
-C<FROM>, then read until the end of the file. Returns true if
-successful, or false if not. C<read_history()> is an aliase of
-C<read_history_range()>.
-
-=item C<WriteHistory([FILENAME])>
-
- int write_history(str filename = '~/.history')
-
-writes the current history to C<FILENAME>, overwriting C<FILENAME> if
-necessary. If C<FILENAME> is false, then write the history list to
-F<~/.history>. Returns true if successful, or false if not.
-
-
-=item C<append_history(NELEMENTS [,FILENAME])>
-
- int append_history(int nelements, str filename = '~/.history')
-
-=item C<history_truncate_file([FILENAME [,NLINES]])>
-
- int history_truncate_file(str filename = '~/.history',
- int nlines = 0)
-
-=back
-
-=item History Expansion
-
-=over 4
-
-=item C<history_expand(LINE)>
-
- (int result, str expansion) history_expand(str line)
-
-Note that this function returns C<expansion> in scalar context.
-
-=item C<get_history_event(STRING, CINDEX [,QCHAR])>
-
- (str text, int cindex) = get_history_event(str string,
- int cindex,
- char qchar = '\0')
-
-=item C<history_tokenize(LINE)>
-
- (@str) history_tokenize(str line)
-
-=item C<history_arg_extract(LINE, [FIRST [,LAST]])>
-
- str history_arg_extract(str line, int first = 0, int last = '$')
-
-=back
-
-=back
-
-=back
-
-=head2 C<Term::ReadLine::Gnu> Variables
-
-Following GNU Readline/History Library variables can be accessed from
-Perl program. See 'GNU Readline Library Manual' and ' GNU History
-Library Manual' for each variable. You can access them with
-C<Attribs> methods. Names of keys in this hash conform to standard
-conventions with the leading C<rl_> stripped.
-
-Examples:
-
- $attribs = $term->Attribs;
- $v = $attribs->{library_version}; # rl_library_version
- $v = $attribs->{history_base}; # history_base
-
-=over 4
-
-=item Readline Variables
-
- str rl_line_buffer
- int rl_point
- int rl_end
- int rl_mark
- int rl_done
- int rl_num_chars_to_read (GRL 4.2)
- int rl_pending_input
- int rl_dispatching (GRL 4.2)
- int rl_erase_empty_line (GRL 4.0)
- str rl_prompt (read only)
- int rl_already_prompted (GRL 4.1)
- str rl_library_version (read only)
- int rl_readline_version (read only)
- int rl_gnu_readline_p (GRL 4.2)
- str rl_terminal_name
- str rl_readline_name
- filehandle rl_instream
- filehandle rl_outstream
- int rl_prefer_env_winsize (GRL 5.1)
- pfunc rl_last_func (GRL 4.2)
- pfunc rl_startup_hook
- pfunc rl_pre_input_hook (GRL 4.0)
- pfunc rl_event_hook
- pfunc rl_getc_function
- pfunc rl_redisplay_function
- pfunc rl_prep_term_function (GRL 4.2)
- pfunc rl_deprep_term_function (GRL 4.2)
- Keymap rl_executing_keymap (read only)
- Keymap rl_binding_keymap (read only)
- str rl_executing_macro (GRL 4.2)
- int rl_readline_state (GRL 4.2)
- int rl_explicit_arg (GRL 4.2)
- int rl_numeric_arg (GRL 4.2)
- int rl_editing_mode (GRL 4.2)
-
-=item Signal Handling Variables
-
- int rl_catch_signals (GRL 4.0)
- int rl_catch_sigwinch (GRL 4.0)
-
-=item Completion Variables
-
- pfunc rl_completion_entry_function
- pfunc rl_attempted_completion_function
- pfunc rl_filename_quoting_function
- pfunc rl_filename_dequoting_function
- pfunc rl_char_is_quoted_p
- int rl_completion_query_items
- str rl_basic_word_break_characters
- str rl_basic_quote_characters
- str rl_completer_word_break_characters
- pfunc rl_completion_word_break_hook (GRL 5.0)
- str rl_completer_quote_characters
- str rl_filename_quote_characters
- str rl_special_prefixes
- int rl_completion_append_character
- int rl_completion_suppress_append (GRL 4.3)
- int rl_completion_quote_charactor (GRL 5.0)
- int rl_completion_suppress_quote (GRL 5.0)
- int rl_completion_found_quote (GRL 5.0)
- int rl_completion_mark_symlink_dirs (GRL 4.3)
- int rl_ignore_completion_duplicates
- int rl_filename_completion_desired
- int rl_filename_quoting_desired
- int rl_attempted_completion_over (GRL 4.2)
- int rl_completion_type (GRL 4.2)
- int rl_inhibit_completion
- pfunc rl_ignore_some_completion_function
- pfunc rl_directory_completion_hook
- pfunc rl_completion_display_matches_hook (GRL 4.0)
-
-=item History Variables
-
- int history_base
- int history_length
- int history_max_entries (called `max_input_history'. read only)
- int history_write_timestamps (GRL 5.0)
- char history_expansion_char
- char history_subst_char
- char history_comment_char
- str history_word_delimiters (GRL 4.2)
- str history_no_expand_chars
- str history_search_delimiter_chars
- int history_quotes_inhibit_expansion
- pfunc history_inhibit_expansion_function
-
-=item Function References
-
- rl_getc
- rl_redisplay
- rl_callback_read_char
- rl_display_match_list
- rl_filename_completion_function
- rl_username_completion_function
- list_completion_function
- shadow_redisplay
- Tk_getc
-
-=back
-
-=head2 Custom Completion
-
-In this section variables and functions for custom completion is
-described with examples.
-
-Most of descriptions in this section is cited from GNU Readline
-Library manual.
-
-=over 4
-
-=item C<rl_completion_entry_function>
-
-This variable holds reference refers to a generator function for
-C<completion_matches()>.
-
-A generator function is called repeatedly from
-C<completion_matches()>, returning a string each time. The arguments
-to the generator function are C<TEXT> and C<STATE>. C<TEXT> is the
-partial word to be completed. C<STATE> is zero the first time the
-function is called, allowing the generator to perform any necessary
-initialization, and a positive non-zero integer for each subsequent
-call. When the generator function returns C<undef> this signals
-C<completion_matches()> that there are no more possibilities left.
-
-If the value is undef, built-in C<filename_completion_function> is
-used.
-
-A sample generator function, C<list_completion_function>, is defined
-in Gnu.pm. You can use it as follows;
-
- use Term::ReadLine;
- ...
- my $term = new Term::ReadLine 'sample';
- my $attribs = $term->Attribs;
- ...
- $attribs->{completion_entry_function} =
- $attribs->{list_completion_function};
- ...
- $attribs->{completion_word} =
- [qw(reference to a list of words which you want to use for completion)];
- $term->readline("custom completion>");
-
-See also C<completion_matches>.
-
-=item C<rl_attempted_completion_function>
-
-A reference to an alternative function to create matches.
-
-The function is called with C<TEXT>, C<LINE_BUFFER>, C<START>, and
-C<END>. C<LINE_BUFFER> is a current input buffer string. C<START>
-and C<END> are indices in C<LINE_BUFFER> saying what the boundaries of
-C<TEXT> are.
-
-If this function exists and returns null list or C<undef>, or if this
-variable is set to C<undef>, then an internal function
-C<rl_complete()> will call the value of
-C<$rl_completion_entry_function> to generate matches, otherwise the
-array of strings returned will be used.
-
-The default value of this variable is C<undef>. You can use it as follows;
-
- use Term::ReadLine;
- ...
- my $term = new Term::ReadLine 'sample';
- my $attribs = $term->Attribs;
- ...
- sub sample_completion {
- my ($text, $line, $start, $end) = @_;
- # If first word then username completion, else filename completion
- if (substr($line, 0, $start) =~ /^\s*$/) {
- return $term->completion_matches($text,
- $attribs->{'username_completion_function'});
- } else {
- return ();
- }
- }
- ...
- $attribs->{attempted_completion_function} = \&sample_completion;
-
-=item C<completion_matches(TEXT, ENTRY_FUNC)>
-
-Returns an array of strings which is a list of completions for
-C<TEXT>. If there are no completions, returns C<undef>. The first
-entry in the returned array is the substitution for C<TEXT>. The
-remaining entries are the possible completions.
-
-C<ENTRY_FUNC> is a generator function which has two arguments, and
-returns a string. The first argument is C<TEXT>. The second is a
-state argument; it is zero on the first call, and non-zero on
-subsequent calls. C<ENTRY_FUNC> returns a C<undef> to the caller when
-there are no more matches.
-
-If the value of C<ENTRY_FUNC> is undef, built-in
-C<filename_completion_function> is used.
-
-C<completion_matches> is a Perl wrapper function of an internal
-function C<completion_matches()>. See also
-C<$rl_completion_entry_function>.
-
-=item C<completion_function>
-
-A variable whose content is a reference to a function which returns a
-list of candidates to complete.
-
-This variable is compatible with C<Term::ReadLine::Perl> and very easy
-to use.
-
- use Term::ReadLine;
- ...
- my $term = new Term::ReadLine 'sample';
- my $attribs = $term->Attribs;
- ...
- $attribs->{completion_function} = sub {
- my ($text, $line, $start) = @_;
- return qw(a list of candidates to complete);
- }
-
-=item C<list_completion_function(TEXT, STATE)>
-
-A sample generator function defined by C<Term::ReadLine::Gnu>.
-Example code at C<rl_completion_entry_function> shows how to use this
-function.
-
-=back
-
-=head2 C<Term::ReadLine::Gnu> Specific Features
-
-=over 4
-
-=item C<Term::ReadLine::Gnu> Specific Functions
-
-=over 4
-
-=item C<CallbackHandlerInstall(PROMPT, LHANDLER)>
-
-This method provides the function C<rl_callback_handler_install()>
-with the following addtional feature compatible with C<readline>
-method; ornament feature, C<Term::ReadLine::Perl> compatible
-completion function, histroy expansion, and addition to history
-buffer.
-
-=item C<call_function(FUNCTION, [COUNT [,KEY]])>
-
- int rl_call_function(FunctionPtr|str function, count = 1, key = -1)
-
-=item C<rl_get_all_function_names>
-
-Returns a list of all function names.
-
-=item C<shadow_redisplay>
-
-A redisplay function for password input. You can use it as follows;
-
- $attribs->{redisplay_function} = $attribs->{shadow_redisplay};
- $line = $term->readline("password> ");
-
-=item C<rl_filename_list>
-
-Returns candidates of filename to complete. This function can be used
-with C<completion_function> and is implemented for the compatibility
-with C<Term::ReadLine::Perl>.
-
-=item C<list_completion_function>
-
-See the description of section L<"Custom Completion"|"Custom Completion">.
-
-=back
-
-=item C<Term::ReadLine::Gnu> Specific Variables
-
-=over 4
-
-=item C<do_expand>
-
-When true, the history expansion is enabled. By default false.
-
-=item C<completion_function>
-
-See the description of section L<"Custom Completion"|"Custom Completion">.
-
-=item C<completion_word>
-
-A reference to a list of candidates to complete for
-C<list_completion_function>.
-
-=back
-
-=item C<Term::ReadLine::Gnu> Specific Commands
-
-=over 4
-
-=item C<history-expand-line>
-
-The equivalent of the Bash C<history-expand-line> editing command.
-
-=item C<operate-and-get-next>
-
-The equivalent of the Korn shell C<operate-and-get-next-history-line>
-editing command and the Bash C<operate-and-get-next>.
-
-This command is bound to C<\C-o> by default for the compatibility with
-the Bash and C<Term::ReadLine::Perl>.
-
-=item C<display-readline-version>
-
-Shows the version of C<Term::ReadLine::Gnu> and the one of the GNU
-Readline Library.
-
-=item C<change-ornaments>
-
-Change ornaments interactively.
-
-=back
-
-=back
-
-=head1 FILES
-
-=over 4
-
-=item F<~/.inputrc>
-
-Readline init file. Using this file it is possible that you would
-like to use a different set of key bindings. When a program which
-uses the Readline library starts up, the init file is read, and the
-key bindings are set.
-
-Conditional key binding is also available. The program name which is
-specified by the first argument of C<new> method is used as the
-application construct.
-
-For example, when your program call C<new> method like this;
-
- ...
- $term = new Term::ReadLine 'PerlSh';
- ...
-
-your F<~/.inputrc> can define key bindings only for it as follows;
-
- ...
- $if PerlSh
- Meta-Rubout: backward-kill-word
- "\C-x\C-r": re-read-init-file
- "\e[11~": "Function Key 1"
- $endif
- ...
-
-=back
-
-=head1 EXPORTS
-
-None.
-
-=head1 SEE ALSO
-
-=over 4
-
-=item GNU Readline Library Manual
-
-=item GNU History Library Manual
-
-=item C<Term::ReadLine>
-
-=item C<Term::ReadLine::Perl> (Term-ReadLine-Perl-xx.tar.gz)
-
-=item F<eg/*> and F<t/*> in the Term::ReadLine::Gnu distribution
-
-=item Articles related to Term::ReadLine::Gnu
-
-=over 4
-
-=item effective perl programming
-
- http://www.usenix.org/publications/login/2000-7/features/effective.html
-
-This article demonstrates how to integrate Term::ReadLine::Gnu into an
-interactive command line program.
-
-=item eijiro (Japanese)
-
- http://bulknews.net/lib/columns/02_eijiro/column.html
-
-A command line interface to Eijiro, Japanese-English dictionary
-service on WWW.
-
-
-=back
-
-=item Works which use Term::ReadLine::Gnu
-
-=over 4
-
-=item Perl Debugger
-
- perl -d
-
-=item The Perl Shell (psh)
-
- http://www.focusresearch.com/gregor/psh/
-
-The Perl Shell is a shell that combines the interactive nature of a
-Unix shell with the power of Perl.
-
-A programmable completion feature compatible with bash is implemented.
-
-=item SPP (Synopsys Plus Perl)
-
- http://www.stanford.edu/~jsolomon/SPP/
-
-SPP (Synopsys Plus Perl) is a Perl module that wraps around Synopsys'
-shell programs. SPP is inspired by the original dc_perl written by
-Steve Golson, but it's an entirely new implementation. Why is it
-called SPP and not dc_perl? Well, SPP was written to wrap around any
-of Synopsys' shells.
-
-=item PFM (Personal File Manager for Unix/Linux)
-
- http://p-f-m.sourceforge.net/
-
-Pfm is a terminal-based file manager written in Perl, based on PFM.COM
-for MS-DOS (originally by Paul Culley and Henk de Heer).
-
-=item The soundgrab
-
- http://rawrec.sourceforge.net/soundgrab/soundgrab.html
-
-soundgrab is designed to help you slice up a big long raw audio file
-(by default 44.1 kHz 2 channel signed sixteen bit little endian) and
-save your favorite sections to other files. It does this by providing
-you with a cassette player like command line interface.
-
-=item PDL (The Perl Data Language)
-
- http://pdl.perl.org/index_en.html
-
-PDL (``Perl Data Language'') gives standard Perl the ability to
-compactly store and speedily manipulate the large N-dimensional data
-arrays which are the bread and butter of scientific computing.
-
-=item PIQT (Perl Interactive DBI Query Tool)
-
- http://piqt.sourceforge.net/
-
-PIQT is an interactive query tool using the Perl DBI database
-interface. It supports ReadLine, provides a built in scripting language
-with a Lisp like syntax, an online help system, and uses wrappers to
-interface to the DBD modules.
-
-=item Ghostscript Shell
-
- http://www.panix.com/~jdf/gshell/
-
-It provides a friendly way to play with the Ghostscript interpreter,
-including command history and auto-completion of Postscript font names
-and reserved words.
-
-=item vshnu (the New Visual Shell)
-
- http://www.cs.indiana.edu/~kinzler/vshnu/
-
-A visual shell and CLI shell supplement.
-
-=back
-
-If you know any other works which can be listed here, please let me
-know.
-
-=back
-
-=head1 AUTHOR
-
-Hiroo Hayashi C<E<lt>hiroo.hayashi@computer.orgE<gt>>
-
-C<http://www.perl.org/CPAN/authors/Hiroo_HAYASHI/>
-
-=head1 TODO
-
-GTK+ support in addition to Tk.
-
-=head1 BUGS
-
-C<rl_add_defun()> can define up to 16 functions.
-
-Ornament feature works only on prompt strings. It requires very hard
-hacking of C<display.c:rl_redisplay()> in GNU Readline library to
-ornament input line.
-
-C<newTTY()> is not tested yet.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu/XS.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu/XS.pm
deleted file mode 100644
index 6b2667c780e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu/XS.pm
+++ /dev/null
@@ -1,590 +0,0 @@
-#!/usr/local/bin/perl
-#
-# XS.pm : perl function definition for Term::ReadLine::Gnu
-#
-# $Id: XS.pm,v 1.23 2008-02-08 00:43:46+09 hiroo Exp $
-#
-# Copyright (c) 2008 Hiroo Hayashi. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package Term::ReadLine::Gnu::XS;
-
-use Carp;
-use strict;
-use AutoLoader 'AUTOLOAD';
-
-use vars qw($VERSION);
-$VERSION='1.17'; # added for CPAN
-
-# make aliases
-use vars qw(%Attribs);
-*Attribs = \%Term::ReadLine::Gnu::Attribs;
-
-use vars qw(*read_history);
-*read_history = \&read_history_range;
-
-# alias for 8 characters limitation imposed by AutoSplit
-use vars qw(*rl_unbind_key *rl_unbind_function *rl_unbind_command
- *history_list *history_arg_extract);
-*rl_unbind_key = \&unbind_key;
-*rl_unbind_function = \&unbind_function;
-*rl_unbind_command = \&unbind_command;
-*history_list = \&hist_list;
-*history_arg_extract = \&hist_arg_extract;
-
-# For backward compatibility. Using these name (*_in_map) is deprecated.
-use vars qw(*rl_unbind_function_in_map *rl_unbind_command_in_map);
-*rl_unbind_function_in_map = \&unbind_function;
-*rl_unbind_command_in_map = \&unbind_command;
-
-rl_add_defun('history-expand-line', \&history_expand_line);
-# bind operate-and-get-next to \C-o by default for the compatibility
-# with bash and Term::ReadLine::Perl
-rl_add_defun('operate-and-get-next', \&operate_and_get_next, ord "\co");
-rl_add_defun('display-readline-version', \&display_readline_version);
-rl_add_defun('change-ornaments', \&change_ornaments);
-
-# for ornaments()
-
-# Prompt-start, prompt-end, command-line-start, command-line-end
-# -- zero-width beautifies to emit around prompt and the command line.
-# string encoded:
-my $rl_term_set = ',,,';
-
-# These variables are used by completion functions. Don't use for
-# other purpose.
-my $_i;
-my @_matches;
-my @_tstrs;
-my $_tstrs_init = 0;
-
-1;
-
-# Uncomment the following line to enable AutoSplit. If you are using
-# AutoLoader.pm distributed with Perl 5.004 or earlier, you must
-# update AutoLoader.pm due to its bug.
-
-#__END__
-
-
-#
-# Readline Library function wrappers
-#
-
-# Convert keymap name to Keymap if the argument is not reference to Keymap
-sub _str2map ($) {
- return ref $_[0] ? $_[0]
- : (rl_get_keymap_by_name($_[0]) || carp "unknown keymap name \`$_[0]\'\n");
-}
-
-# Convert function name to Function if the argument is not reference
-# to Function
-sub _str2fn ($) {
- return ref $_[0] ? $_[0]
- : (rl_named_function($_[0]) || carp "unknown function name \`$_[0]\'\n");
-}
-
-sub rl_copy_keymap ($) { return _rl_copy_keymap(_str2map($_[0])); }
-sub rl_discard_keymap ($) { return _rl_discard_keymap(_str2map($_[0])); }
-sub rl_set_keymap ($) { return _rl_set_keymap(_str2map($_[0])); }
-
-# rl_bind_key
-sub rl_bind_key ($$;$) {
- if (defined $_[2]) {
- return _rl_bind_key($_[0], _str2fn($_[1]), _str2map($_[2]));
- } else {
- return _rl_bind_key($_[0], _str2fn($_[1]));
- }
-}
-
-# rl_bind_key_if_unbound
-sub rl_bind_key_if_unbound ($$;$) {
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if ($version < 5.0) {
- carp "rl_bind_key_if_unbound() is not supported. Ignored\n";
- return;
- }
- if (defined $_[2]) {
- return _rl_bind_key_if_unbound($_[0], _str2fn($_[1]), _str2map($_[2]));
- } else {
- return _rl_bind_key_if_unbound($_[0], _str2fn($_[1]));
- }
-}
-
-# rl_unbind_key
-sub unbind_key ($;$) {
- if (defined $_[1]) {
- return _rl_unbind_key($_[0], _str2map($_[1]));
- } else {
- return _rl_unbind_key($_[0]);
- }
-}
-
-# rl_unbind_function
-sub unbind_function ($;$) {
- # libreadline.* in Debian GNU/Linux 2.0 tells wrong value as '2.1-bash'
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if ($version < 2.2) {
- carp "rl_unbind_function() is not supported. Ignored\n";
- return;
- }
- if (defined $_[1]) {
- return _rl_unbind_function($_[0], _str2map($_[1]));
- } else {
- return _rl_unbind_function($_[0]);
- }
-}
-
-# rl_unbind_command
-sub unbind_command ($;$) {
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if ($version < 2.2) {
- carp "rl_unbind_command() is not supported. Ignored\n";
- return;
- }
- if (defined $_[1]) {
- return _rl_unbind_command($_[0], _str2map($_[1]));
- } else {
- return _rl_unbind_command($_[0]);
- }
-}
-
-# rl_bind_keyseq
-sub rl_bind_keyseq ($$;$) {
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if ($version < 5.0) {
- carp "rl_bind_keyseq() is not supported. Ignored\n";
- return;
- }
- if (defined $_[2]) {
- return _rl_bind_keyseq($_[0], _str2fn($_[1]), _str2map($_[2]));
- } else {
- return _rl_bind_keyseq($_[0], _str2fn($_[1]));
- }
-}
-
-sub rl_set_key ($$;$) {
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if ($version < 4.2) {
- carp "rl_set_key() is not supported. Ignored\n";
- return;
- }
- if (defined $_[2]) {
- return _rl_set_key($_[0], _str2fn($_[1]), _str2map($_[2]));
- } else {
- return _rl_set_key($_[0], _str2fn($_[1]));
- }
-}
-
-# rl_bind_keyseq_if_unbound
-sub rl_bind_keyseq_if_unbound ($$;$) {
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if ($version < 5.0) {
- carp "rl_bind_keyseq_if_unbound() is not supported. Ignored\n";
- return;
- }
- if (defined $_[2]) {
- return _rl_bind_keyseq_if_unbound($_[0], _str2fn($_[1]), _str2map($_[2]));
- } else {
- return _rl_bind_keyseq_if_unbound($_[0], _str2fn($_[1]));
- }
-}
-
-sub rl_macro_bind ($$;$) {
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if (defined $_[2]) {
- return _rl_macro_bind($_[0], $_[1], _str2map($_[2]));
- } else {
- return _rl_macro_bind($_[0], $_[1]);
- }
-}
-
-sub rl_generic_bind ($$$;$) {
- if ($_[0] == Term::ReadLine::Gnu::ISFUNC) {
- if (defined $_[3]) {
- _rl_generic_bind_function($_[1], _str2fn($_[2]), _str2map($_[3]));
- } else {
- _rl_generic_bind_function($_[1], _str2fn($_[2]));
- }
- } elsif ($_[0] == Term::ReadLine::Gnu::ISKMAP) {
- if (defined $_[3]) {
- _rl_generic_bind_keymap($_[1], _str2map($_[2]), _str2map($_[3]));
- } else {
- _rl_generic_bind_keymap($_[1], _str2map($_[2]));
- }
- } elsif ($_[0] == Term::ReadLine::Gnu::ISMACR) {
- if (defined $_[3]) {
- _rl_generic_bind_macro($_[1], $_[2], _str2map($_[3]));
- } else {
- _rl_generic_bind_macro($_[1], $_[2]);
- }
- } else {
- carp("Term::ReadLine::Gnu::rl_generic_bind: invalid \`type\'\n");
- }
-}
-
-sub rl_call_function ($;$$) {
- if (defined $_[2]) {
- return _rl_call_function(_str2fn($_[0]), $_[1], $_[2]);
- } elsif (defined $_[1]) {
- return _rl_call_function(_str2fn($_[0]), $_[1]);
- } else {
- return _rl_call_function(_str2fn($_[0]));
- }
-}
-
-sub rl_invoking_keyseqs ($;$) {
- if (defined $_[1]) {
- return _rl_invoking_keyseqs(_str2fn($_[0]), _str2map($_[1]));
- } else {
- return _rl_invoking_keyseqs(_str2fn($_[0]));
- }
-}
-
-sub rl_add_funmap_entry ($$) {
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if ($version < 4.2) {
- carp "rl_add_funmap_entry() is not supported. Ignored\n";
- return;
- }
- return _rl_add_funmap_entry($_[0], _str2fn($_[1]));
-}
-
-sub rl_tty_set_default_bindings (;$) {
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if ($version < 4.2) {
- carp "rl_tty_set_default_bindings() is not supported. Ignored\n";
- return;
- }
- if (defined $_[0]) {
- return _rl_tty_set_defaut_bindings(_str2map($_[1]));
- } else {
- return _rl_tty_set_defaut_bindings();
- }
-}
-
-sub rl_tty_unset_default_bindings (;$) {
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if ($version < 5.0) {
- carp "rl_tty_unset_default_bindings() is not supported. Ignored\n";
- return;
- }
- if (defined $_[0]) {
- return _rl_tty_unset_defaut_bindings(_str2map($_[1]));
- } else {
- return _rl_tty_unset_defaut_bindings();
- }
-}
-
-sub rl_message {
- my $fmt = shift;
- my $line = sprintf($fmt, @_);
- _rl_message($line);
-}
-
-sub rl_completion_mode {
- # libreadline.* in Debian GNU/Linux 2.0 tells wrong value as '2.1-bash'
- my ($version) = $Attribs{library_version}
- =~ /(\d+\.\d+)/;
- if ($version < 4.3) {
- carp "rl_completion_mode() is not supported. Ignored\n";
- return;
- }
- return _rl_completion_mode(_str2fn($_[0]));
-}
-
-#
-# for compatibility with Term::ReadLine::Perl
-#
-sub rl_filename_list {
- my ($text) = @_;
-
- # lcd : lowest common denominator
- my ($lcd, @matches) = rl_completion_matches($text,
- \&rl_filename_completion_function);
- return @matches ? @matches : $lcd;
-}
-
-#
-# History Library function wrappers
-#
-# history_list
-sub hist_list () {
- my ($i, $history_base, $history_length, @d);
- $history_base = $Attribs{history_base};
- $history_length = $Attribs{history_length};
- for ($i = $history_base; $i < $history_base + $history_length; $i++) {
- push(@d, history_get($i));
- }
- @d;
-}
-
-# history_arg_extract
-sub hist_arg_extract ( ;$$$ ) {
- my ($line, $first, $last) = @_;
- $line = $_ unless defined $line;
- $first = 0 unless defined $first;
- $last = ord '$' unless defined $last; # '
- $first = ord '$' if defined $first and $first eq '$'; # '
- $last = ord '$' if defined $last and $last eq '$'; # '
- &_history_arg_extract($line, $first, $last);
-}
-
-sub get_history_event ( $$;$ ) {
- _get_history_event($_[0], $_[1], defined $_[2] ? ord $_[2] : 0);
-}
-
-#
-# Ornaments
-#
-
-# This routine originates in Term::ReadLine.pm.
-
-# Debian GNU/Linux discourages users from using /etc/termcap. A
-# subroutine ornaments() defined in Term::ReadLine.pm uses
-# Term::Caps.pm which requires /etc/termcap.
-
-# This module calls termcap (or its compatible) library, which the GNU
-# Readline Library already uses, instead of Term::Caps.pm.
-
-# Some terminals do not support 'ue' (underline end).
-use vars qw(%term_no_ue);
-%term_no_ue = ( kterm => 1 );
-
-sub ornaments {
- return $rl_term_set unless @_;
- $rl_term_set = shift;
- $rl_term_set ||= ',,,';
- $rl_term_set = $term_no_ue{$ENV{TERM}} ? 'us,me,,' : 'us,ue,,'
- if $rl_term_set eq '1';
- my @ts = split /,/, $rl_term_set, 4;
- my @rl_term_set
- = map {
- # non-printing characters must be informed to readline
- my $t;
- ($_ and $t = tgetstr($_))
- ? (Term::ReadLine::Gnu::RL_PROMPT_START_IGNORE
- . $t
- . Term::ReadLine::Gnu::RL_PROMPT_END_IGNORE)
- : '';
- } @ts;
- $Attribs{term_set} = \@rl_term_set;
- return $rl_term_set;
-}
-
-#
-# a sample custom function
-#
-
-# The equivalent of the Bash shell M-^ history-expand-line editing
-# command.
-
-# This routine was borrowed from bash.
-sub history_expand_line {
- my ($count, $key) = @_;
- my ($expanded, $new_line) = history_expand($Attribs{line_buffer});
- if ($expanded > 0) {
- rl_modifying(0, $Attribs{end}); # save undo information
- $Attribs{line_buffer} = $new_line;
- } elsif ($expanded < 0) {
- my $OUT = $Attribs{outstream};
- print $OUT "\n$new_line\n";
- rl_on_new_line();
- } # $expanded == 0 : no change
-}
-
-# The equivalent of the Korn shell C-o operate-and-get-next-history-line
-# editing command.
-
-# This routine was borrowed from bash.
-sub operate_and_get_next {
- my ($count, $key) = @_;
-
- my $saved_history_line_to_use = -1;
- my $old_rl_startup_hook;
-
- # Accept the current line.
- rl_call_function('accept-line', 1, $key);
-
- # Find the current line, and find the next line to use. */
- my $where = where_history();
- if ((history_is_stifled()
- && ($Attribs{history_length} >= $Attribs{max_input_history}))
- || ($where >= $Attribs{history_length} - 1)) {
- $saved_history_line_to_use = $where;
- } else {
- $saved_history_line_to_use = $where + 1;
- }
- $old_rl_startup_hook = $Attribs{startup_hook};
- $Attribs{startup_hook} = sub {
- if ($saved_history_line_to_use >= 0) {
- rl_call_function('previous-history',
- $Attribs{history_length}
- - $saved_history_line_to_use,
- 0);
- $Attribs{startup_hook} = $old_rl_startup_hook;
- $saved_history_line_to_use = -1;
- }
- };
-}
-
-sub display_readline_version { # show version
- my($count, $key) = @_; # ignored in this function
- my $OUT = $Attribs{outstream};
- print $OUT
- ("\nTerm::ReadLine::Gnu version: $Term::ReadLine::Gnu::VERSION");
- print $OUT
- ("\nGNU Readline Library version: $Attribs{library_version}\n");
- rl_on_new_line();
-}
-
-# sample function of rl_message()
-sub change_ornaments {
- my($count, $key) = @_; # ignored in this function
- rl_save_prompt;
- rl_message("[S]tandout, [U]nderlining, [B]old, [R]everse, [V]isible bell: ");
- my $c = chr rl_read_key;
- if ($c =~ /s/i) {
- ornaments('so,me,,');
- } elsif ($c =~ /u/i) {
- ornaments('us,me,,');
- } elsif ($c =~ /b/i) {
- ornaments('md,me,,');
- } elsif ($c =~ /r/i) {
- ornaments('mr,me,,');
- } elsif ($c =~ /v/i) {
- ornaments('vb,,,');
- } else {
- rl_ding;
- }
- rl_restore_prompt;
- rl_clear_message;
-}
-
-#
-# for tkRunning
-#
-sub Tk_getc {
- &Term::ReadLine::Tk::Tk_loop
- if $Term::ReadLine::toloop && defined &Tk::DoOneEvent;
- my $FILE = $Attribs{instream};
- return rl_getc($FILE);
-}
-
-# redisplay function for secret input like password
-# usage:
-# $a->{redisplay_function} = $a->{shadow_redisplay};
-# $line = $t->readline("password> ");
-sub shadow_redisplay {
- @_tstrs = _tgetstrs() unless $_tstrs_init;
- # remove prompt start/end mark from prompt string
- my $prompt = $Attribs{prompt}; my $s;
- $s = Term::ReadLine::Gnu::RL_PROMPT_START_IGNORE; $prompt =~ s/$s//g;
- $s = Term::ReadLine::Gnu::RL_PROMPT_END_IGNORE; $prompt =~ s/$s//g;
- my $OUT = $Attribs{outstream};
- my $oldfh = select($OUT); $| = 1; select($oldfh);
- print $OUT ($_tstrs[0], # carriage return
- $_tstrs[1], # clear to EOL
- $prompt, '*' x length($Attribs{line_buffer}));
- print $OUT ($_tstrs[2] # cursor left
- x (length($Attribs{line_buffer}) - $Attribs{point}));
- $oldfh = select($OUT); $| = 0; select($oldfh);
-}
-
-sub _tgetstrs {
- my @s = (tgetstr('cr'), # carriage return
- tgetstr('ce'), # clear to EOL
- tgetstr('le')); # cursor left
- warn <<"EOM" unless (defined($s[0]) && defined($s[1]) && defined($s[2]));
-Your terminal 'TERM=$ENV{TERM}' does not support enough function.
-Check if your environment variable 'TERM' is set correctly.
-EOM
- # suppress warning "Use of uninitialized value in print at ..."
- $s[0] = $s[0] || ''; $s[1] = $s[1] || ''; $s[2] = $s[2] || '';
- $_tstrs_init = 1;
- return @s;
-}
-
-# callback handler wrapper function for CallbackHandlerInstall method
-sub _ch_wrapper {
- my $line = shift;
-
- if (defined $line) {
- if ($Attribs{do_expand}) {
- my $result;
- ($result, $line) = history_expand($line);
- my $outstream = $Attribs{outstream};
- print $outstream "$line\n" if ($result);
-
- # return without adding line into history
- if ($result < 0 || $result == 2) {
- return ''; # don't return `undef' which means EOF.
- }
- }
-
- # add to history buffer
- add_history($line)
- if ($Attribs{MinLength} > 0
- && length($line) >= $Attribs{MinLength});
- }
- &{$Attribs{_callback_handler}}($line);
-}
-
-#
-# List Completion Function
-#
-sub list_completion_function ( $$ ) {
- my($text, $state) = @_;
-
- $_i = $state ? $_i + 1 : 0; # clear counter at the first call
- my $cw = $Attribs{completion_word};
- for (; $_i <= $#{$cw}; $_i++) {
- return $cw->[$_i] if ($cw->[$_i] =~ /^\Q$text/);
- }
- return undef;
-}
-
-#
-# wrapper completion function of 'completion_function'
-# for compatibility with Term::ReadLine::Perl
-#
-sub _trp_completion_function ( $$ ) {
- my($text, $state) = @_;
-
- my $cf;
- return undef unless defined ($cf = $Attribs{completion_function});
-
- if ($state) {
- $_i++;
- } else {
- # the first call
- $_i = 0; # clear index
- @_matches = &$cf($text,
- $Attribs{line_buffer},
- $Attribs{point} - length($text));
- # return here since $#_matches is 0 instead of -1 when
- # @_matches = undef
- return undef unless defined $_matches[0];
- }
-
- for (; $_i <= $#_matches; $_i++) {
- return $_matches[$_i] if ($_matches[$_i] =~ /^\Q$text/);
- }
- return undef;
-}
-
-1;
-
-__END__
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm
deleted file mode 100644
index 6b7d6d845c5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm
+++ /dev/null
@@ -1,1778 +0,0 @@
-# $Id: LibXML.pm 709 2008-01-29 21:01:32Z pajas $
-
-package XML::LibXML;
-
-use strict;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS
- $skipDTD $skipXMLDeclaration $setTagCompression
- $MatchCB $ReadCB $OpenCB $CloseCB
- );
-use Carp;
-
-use XML::LibXML::Common qw(:encoding :libxml);
-
-use constant XML_XMLNS_NS => 'http://www.w3.org/2000/xmlns/';
-use constant XML_XML_NS => 'http://www.w3.org/XML/1998/namespace';
-
-use XML::LibXML::NodeList;
-use XML::LibXML::XPathContext;
-use IO::Handle; # for FH reads called as methods
-
-BEGIN {
-
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-require Exporter;
-require DynaLoader;
-@ISA = qw(DynaLoader Exporter);
-
-#-------------------------------------------------------------------------#
-# export information #
-#-------------------------------------------------------------------------#
-%EXPORT_TAGS = (
- all => [qw(
- XML_ELEMENT_NODE
- XML_ATTRIBUTE_NODE
- XML_TEXT_NODE
- XML_CDATA_SECTION_NODE
- XML_ENTITY_REF_NODE
- XML_ENTITY_NODE
- XML_PI_NODE
- XML_COMMENT_NODE
- XML_DOCUMENT_NODE
- XML_DOCUMENT_TYPE_NODE
- XML_DOCUMENT_FRAG_NODE
- XML_NOTATION_NODE
- XML_HTML_DOCUMENT_NODE
- XML_DTD_NODE
- XML_ELEMENT_DECL
- XML_ATTRIBUTE_DECL
- XML_ENTITY_DECL
- XML_NAMESPACE_DECL
- XML_XINCLUDE_END
- XML_XINCLUDE_START
- encodeToUTF8
- decodeFromUTF8
- XML_XMLNS_NS
- XML_XML_NS
- )],
- libxml => [qw(
- XML_ELEMENT_NODE
- XML_ATTRIBUTE_NODE
- XML_TEXT_NODE
- XML_CDATA_SECTION_NODE
- XML_ENTITY_REF_NODE
- XML_ENTITY_NODE
- XML_PI_NODE
- XML_COMMENT_NODE
- XML_DOCUMENT_NODE
- XML_DOCUMENT_TYPE_NODE
- XML_DOCUMENT_FRAG_NODE
- XML_NOTATION_NODE
- XML_HTML_DOCUMENT_NODE
- XML_DTD_NODE
- XML_ELEMENT_DECL
- XML_ATTRIBUTE_DECL
- XML_ENTITY_DECL
- XML_NAMESPACE_DECL
- XML_XINCLUDE_END
- XML_XINCLUDE_START
- )],
- encoding => [qw(
- encodeToUTF8
- decodeFromUTF8
- )],
- ns => [qw(
- XML_XMLNS_NS
- XML_XML_NS
- )],
- );
-
-@EXPORT_OK = (
- @{$EXPORT_TAGS{all}},
- );
-
-@EXPORT = (
- @{$EXPORT_TAGS{all}},
- );
-
-#-------------------------------------------------------------------------#
-# initialization of the global variables #
-#-------------------------------------------------------------------------#
-$skipDTD = 0;
-$skipXMLDeclaration = 0;
-$setTagCompression = 0;
-
-$MatchCB = undef;
-$ReadCB = undef;
-$OpenCB = undef;
-$CloseCB = undef;
-
-#-------------------------------------------------------------------------#
-# bootstrapping #
-#-------------------------------------------------------------------------#
-bootstrap XML::LibXML $VERSION;
-undef &AUTOLOAD;
-
-} # BEGIN
-
-#-------------------------------------------------------------------------#
-# test exact version (up to patch-level) #
-#-------------------------------------------------------------------------#
-{
- my ($runtime_version) = LIBXML_RUNTIME_VERSION() =~ /^(\d+)/;
- if ( $runtime_version < LIBXML_VERSION ) {
- warn "Warning: XML::LibXML compiled against libxml2 ".LIBXML_VERSION.
- ", but runtime libxml2 is older $runtime_version\n";
- }
-}
-
-#-------------------------------------------------------------------------#
-# parser constructor #
-#-------------------------------------------------------------------------#
-sub new {
- my $class = shift;
- my %options = @_;
- if ( not exists $options{XML_LIBXML_KEEP_BLANKS} ) {
- $options{XML_LIBXML_KEEP_BLANKS} = 1;
- }
-
- if ( defined $options{catalog} ) {
- $class->load_catalog( $options{catalog} );
- delete $options{catalog};
- }
-
- my $self = bless \%options, $class;
- if ( defined $options{Handler} ) {
- $self->set_handler( $options{Handler} );
- }
-
- $self->{XML_LIBXML_EXT_DTD} = 1;
- $self->{_State_} = 0;
- return $self;
-}
-
-#-------------------------------------------------------------------------#
-# Threads support methods #
-#-------------------------------------------------------------------------#
-
-# threads doc says CLONE's API may change in future, which would break
-# an XS method prototype
-sub CLONE { XML::LibXML::_CLONE( $_[0] ) }
-
-#-------------------------------------------------------------------------#
-# DOM Level 2 document constructor #
-#-------------------------------------------------------------------------#
-
-sub createDocument {
- my $self = shift;
- if (!@_ or $_[0] =~ m/^\d\.\d$/) {
- # for backward compatibility
- return XML::LibXML::Document->new(@_);
- }
- else {
- # DOM API: createDocument(namespaceURI, qualifiedName, doctype?)
- my $doc = XML::LibXML::Document-> new;
- my $el = $doc->createElementNS(shift, shift);
- $doc->setDocumentElement($el);
- $doc->setExternalSubset(shift) if @_;
- return $doc;
- }
-}
-
-#-------------------------------------------------------------------------#
-# callback functions #
-#-------------------------------------------------------------------------#
-
-sub input_callbacks {
- my $self = shift;
- my $icbclass = shift;
-
- if ( defined $icbclass ) {
- $self->{XML_LIBXML_CALLBACK_STACK} = $icbclass;
- }
- return $self->{XML_LIBXML_CALLBACK_STACK};
-}
-
-sub match_callback {
- my $self = shift;
- if ( ref $self ) {
- if ( scalar @_ ) {
- $self->{XML_LIBXML_MATCH_CB} = shift;
- $self->{XML_LIBXML_CALLBACK_STACK} = undef;
- }
- return $self->{XML_LIBXML_MATCH_CB};
- }
- else {
- $MatchCB = shift if scalar @_;
- return $MatchCB;
- }
-}
-
-sub read_callback {
- my $self = shift;
- if ( ref $self ) {
- if ( scalar @_ ) {
- $self->{XML_LIBXML_READ_CB} = shift;
- $self->{XML_LIBXML_CALLBACK_STACK} = undef;
- }
- return $self->{XML_LIBXML_READ_CB};
- }
- else {
- $ReadCB = shift if scalar @_;
- return $ReadCB;
- }
-}
-
-sub close_callback {
- my $self = shift;
- if ( ref $self ) {
- if ( scalar @_ ) {
- $self->{XML_LIBXML_CLOSE_CB} = shift;
- $self->{XML_LIBXML_CALLBACK_STACK} = undef;
- }
- return $self->{XML_LIBXML_CLOSE_CB};
- }
- else {
- $CloseCB = shift if scalar @_;
- return $CloseCB;
- }
-}
-
-sub open_callback {
- my $self = shift;
- if ( ref $self ) {
- if ( scalar @_ ) {
- $self->{XML_LIBXML_OPEN_CB} = shift;
- $self->{XML_LIBXML_CALLBACK_STACK} = undef;
- }
- return $self->{XML_LIBXML_OPEN_CB};
- }
- else {
- $OpenCB = shift if scalar @_;
- return $OpenCB;
- }
-}
-
-sub callbacks {
- my $self = shift;
- if ( ref $self ) {
- if (@_) {
- my ($match, $open, $read, $close) = @_;
- @{$self}{qw(XML_LIBXML_MATCH_CB XML_LIBXML_OPEN_CB XML_LIBXML_READ_CB XML_LIBXML_CLOSE_CB)} = ($match, $open, $read, $close);
- $self->{XML_LIBXML_CALLBACK_STACK} = undef;
- }
- else {
- return @{$self}{qw(XML_LIBXML_MATCH_CB XML_LIBXML_OPEN_CB XML_LIBXML_READ_CB XML_LIBXML_CLOSE_CB)};
- }
- }
- else {
- if (@_) {
- ( $MatchCB, $OpenCB, $ReadCB, $CloseCB ) = @_;
- }
- else {
- return ( $MatchCB, $OpenCB, $ReadCB, $CloseCB );
- }
- }
-}
-
-#-------------------------------------------------------------------------#
-# member variable manipulation #
-#-------------------------------------------------------------------------#
-sub validation {
- my $self = shift;
- $self->{XML_LIBXML_VALIDATION} = shift if scalar @_;
- return $self->{XML_LIBXML_VALIDATION};
-}
-
-sub recover {
- my $self = shift;
- $self->{XML_LIBXML_RECOVER} = shift if scalar @_;
- return $self->{XML_LIBXML_RECOVER};
-}
-
-sub recover_silently {
- my $self = shift;
- my $arg = shift;
- (($arg == 1) ? $self->recover(2) : $self->recover($arg)) if defined($arg);
- return ($self->recover() == 2) ? 1 : 0;
-}
-
-sub expand_entities {
- my $self = shift;
- $self->{XML_LIBXML_EXPAND_ENTITIES} = shift if scalar @_;
- return $self->{XML_LIBXML_EXPAND_ENTITIES};
-}
-
-sub keep_blanks {
- my $self = shift;
- $self->{XML_LIBXML_KEEP_BLANKS} = shift if scalar @_;
- return $self->{XML_LIBXML_KEEP_BLANKS};
-}
-
-sub pedantic_parser {
- my $self = shift;
- $self->{XML_LIBXML_PEDANTIC} = shift if scalar @_;
- return $self->{XML_LIBXML_PEDANTIC};
-}
-
-sub line_numbers {
- my $self = shift;
- $self->{XML_LIBXML_LINENUMBERS} = shift if scalar @_;
- return $self->{XML_LIBXML_LINENUMBERS};
-}
-
-sub no_network {
- my $self = shift;
- $self->{XML_LIBXML_NONET} = shift if scalar @_;
- return $self->{XML_LIBXML_NONET};
-}
-
-sub load_ext_dtd {
- my $self = shift;
- $self->{XML_LIBXML_EXT_DTD} = shift if scalar @_;
- return $self->{XML_LIBXML_EXT_DTD};
-}
-
-sub complete_attributes {
- my $self = shift;
- $self->{XML_LIBXML_COMPLETE_ATTR} = shift if scalar @_;
- return $self->{XML_LIBXML_COMPLETE_ATTR};
-}
-
-sub expand_xinclude {
- my $self = shift;
- $self->{XML_LIBXML_EXPAND_XINCLUDE} = shift if scalar @_;
- return $self->{XML_LIBXML_EXPAND_XINCLUDE};
-}
-
-sub base_uri {
- my $self = shift;
- $self->{XML_LIBXML_BASE_URI} = shift if scalar @_;
- return $self->{XML_LIBXML_BASE_URI};
-}
-
-sub gdome_dom {
- my $self = shift;
- $self->{XML_LIBXML_GDOME} = shift if scalar @_;
- return $self->{XML_LIBXML_GDOME};
-}
-
-sub clean_namespaces {
- my $self = shift;
- $self->{XML_LIBXML_NSCLEAN} = shift if scalar @_;
- return $self->{XML_LIBXML_NSCLEAN};
-}
-
-#-------------------------------------------------------------------------#
-# set the optional SAX(2) handler #
-#-------------------------------------------------------------------------#
-sub set_handler {
- my $self = shift;
- if ( defined $_[0] ) {
- $self->{HANDLER} = $_[0];
-
- $self->{SAX_ELSTACK} = [];
- $self->{SAX} = {State => 0};
- }
- else {
- # undef SAX handling
- $self->{SAX_ELSTACK} = [];
- delete $self->{HANDLER};
- delete $self->{SAX};
- }
-}
-
-#-------------------------------------------------------------------------#
-# helper functions #
-#-------------------------------------------------------------------------#
-sub _auto_expand {
- my ( $self, $result, $uri ) = @_;
-
- $result->setBaseURI( $uri ) if defined $uri;
-
- if ( defined $self->{XML_LIBXML_EXPAND_XINCLUDE}
- and $self->{XML_LIBXML_EXPAND_XINCLUDE} == 1 ) {
- $self->{_State_} = 1;
- eval { $self->processXIncludes($result); };
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- $self->_cleanup_callbacks();
- $result = undef;
- croak $err;
- }
- }
- return $result;
-}
-
-sub _init_callbacks {
- my $self = shift;
- my $icb = $self->{XML_LIBXML_CALLBACK_STACK};
-
- unless ( defined $icb ) {
- $self->{XML_LIBXML_CALLBACK_STACK} = XML::LibXML::InputCallback->new();
- $icb = $self->{XML_LIBXML_CALLBACK_STACK};
- }
-
- my $mcb = $self->match_callback();
- my $ocb = $self->open_callback();
- my $rcb = $self->read_callback();
- my $ccb = $self->close_callback();
-
- if ( defined $mcb and defined $ocb and defined $rcb and defined $ccb ) {
- $icb->register_callbacks( [$mcb, $ocb, $rcb, $ccb] );
- }
-
- $icb->init_callbacks();
-}
-
-sub _cleanup_callbacks {
- my $self = shift;
- $self->{XML_LIBXML_CALLBACK_STACK}->cleanup_callbacks();
- my $mcb = $self->match_callback();
- $self->{XML_LIBXML_CALLBACK_STACK}->unregister_callbacks( [$mcb] );
-}
-
-sub __read {
- read($_[0], $_[1], $_[2]);
-}
-
-sub __write {
- if ( ref( $_[0] ) ) {
- $_[0]->write( $_[1], $_[2] );
- }
- else {
- $_[0]->write( $_[1] );
- }
-}
-
-# currently this is only used in the XInlcude processor
-# but in the future, all parsing functions should turn to
-# the new libxml2 parsing API internally and this will
-# become handy
-sub _parser_options {
- my ($self,$opts)=@_;
- $opts = {} unless ref $opts;
- my $flags = 0;
- $flags |= 1 if exists $opts->{recover} ? $opts->{recover} : $self->recover;
- $flags |= 2 if exists $opts->{expand_entities} ? $opts->{expand_entities} : $self->expand_entities;
- $flags |= 4 if exists $opts->{load_ext_dtd} ? $opts->{load_ext_dtd} : $self->load_ext_dtd;
- $flags |= 8 if exists $opts->{complete_attributes} ? $opts->{complete_attributes} : $self->complete_attributes;
- $flags |= 16 if exists $opts->{validation} ? $opts->{validation} : $self->validation;
- $flags |= 32 if $opts->{suppress_errors};
- $flags |= 64 if $opts->{suppress_warnings};
- $flags |= 128 if exists $opts->{pedantic_parser} ? $opts->{pedantic_parser} : $self->pedantic_parser;
- $flags |= 256 if exists $opts->{no_blanks} ? $opts->{no_blanks} : !$self->keep_blanks();
- $flags |= 1024 if exists $opts->{expand_xinclude} ? $opts->{expand_xinclude} : $self->expand_xinclude;
- $flags |= 2048 if exists $opts->{no_network} ? $opts->{no_network} : $self->no_network;
- $flags |= 8192 if exists $opts->{clean_namespaces} ? $opts->{clean_namespaces} : $self->clean_namespaces;
- $flags |= 16384 if $opts->{no_cdata};
- $flags |= 32768 if $opts->{no_xinclude_nodes};
- return ($flags);
-}
-
-
-#-------------------------------------------------------------------------#
-# parsing functions #
-#-------------------------------------------------------------------------#
-# all parsing functions handle normal as SAX parsing at the same time.
-# note that SAX parsing is handled incomplete! use XML::LibXML::SAX for
-# complete parsing sequences
-#-------------------------------------------------------------------------#
-sub parse_string {
- my $self = shift;
- croak("parse_string is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self;
- croak("parse already in progress") if $self->{_State_};
-
- unless ( defined $_[0] and length $_[0] ) {
- croak("Empty String");
- }
-
- $self->{_State_} = 1;
- my $result;
-
- $self->_init_callbacks();
-
- if ( defined $self->{SAX} ) {
- my $string = shift;
- $self->{SAX_ELSTACK} = [];
-
- eval { $result = $self->_parse_sax_string($string); };
-
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- chomp $err;
- $self->_cleanup_callbacks();
- croak $err;
- }
- }
- else {
- eval { $result = $self->_parse_string( @_ ); };
-
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- chomp $err;
- $self->_cleanup_callbacks();
- croak $err;
- }
-
- $result = $self->_auto_expand( $result, $self->{XML_LIBXML_BASE_URI} );
- }
- $self->_cleanup_callbacks();
-
- return $result;
-}
-
-sub parse_fh {
- my $self = shift;
- croak("parse_fh is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self;
- croak("parse already in progress") if $self->{_State_};
- $self->{_State_} = 1;
- my $result;
-
- $self->_init_callbacks();
-
- if ( defined $self->{SAX} ) {
- $self->{SAX_ELSTACK} = [];
- eval { $self->_parse_sax_fh( @_ ); };
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- chomp $err;
- $self->_cleanup_callbacks();
- croak $err;
- }
- }
- else {
- eval { $result = $self->_parse_fh( @_ ); };
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- chomp $err;
- $self->_cleanup_callbacks();
- croak $err;
- }
-
- $result = $self->_auto_expand( $result, $self->{XML_LIBXML_BASE_URI} );
- }
-
- $self->_cleanup_callbacks();
-
- return $result;
-}
-
-sub parse_file {
- my $self = shift;
- croak("parse_file is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self;
- croak("parse already in progress") if $self->{_State_};
- $self->{_State_} = 1;
- my $result;
-
- $self->_init_callbacks();
-
- if ( defined $self->{SAX} ) {
- $self->{SAX_ELSTACK} = [];
- eval { $self->_parse_sax_file( @_ ); };
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- chomp $err;
- $self->_cleanup_callbacks();
- croak $err;
- }
- }
- else {
- eval { $result = $self->_parse_file(@_); };
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- chomp $err;
- $self->_cleanup_callbacks();
- croak $err;
- }
-
- $result = $self->_auto_expand( $result );
- }
- $self->_cleanup_callbacks();
-
- return $result;
-}
-
-sub parse_xml_chunk {
- my $self = shift;
- # max 2 parameter:
- # 1: the chunk
- # 2: the encoding of the string
- croak("parse_xml_chunk is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self;
- croak("parse already in progress") if $self->{_State_}; my $result;
-
- unless ( defined $_[0] and length $_[0] ) {
- croak("Empty String");
- }
-
- $self->{_State_} = 1;
-
- $self->_init_callbacks();
-
- if ( defined $self->{SAX} ) {
- eval {
- $self->_parse_sax_xml_chunk( @_ );
-
- # this is required for XML::GenericChunk.
- # in normal case is_filter is not defined, an thus the parsing
- # will be terminated. in case of a SAX filter the parsing is not
- # finished at that state. therefore we must not reset the parsing
- unless ( $self->{IS_FILTER} ) {
- $result = $self->{HANDLER}->end_document();
- }
- };
- }
- else {
- eval { $result = $self->_parse_xml_chunk( @_ ); };
- }
-
- $self->_cleanup_callbacks();
-
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- chomp $err;
- croak $err;
- }
-
- return $result;
-}
-
-sub parse_balanced_chunk {
- my $self = shift;
- $self->_init_callbacks();
- my $rv;
- eval {
- $rv = $self->parse_xml_chunk( @_ );
- };
- my $err = $@;
- $self->_cleanup_callbacks();
- if ( $err ) {
- chomp $err;
- croak $err;
- }
- return $rv
-}
-
-# java style
-sub processXIncludes {
- my $self = shift;
- my $doc = shift;
- my $opts = shift;
- my $options = $self->_parser_options($opts);
- if ( $self->{_State_} != 1 ) {
- $self->_init_callbacks();
- }
- my $rv;
- eval {
- $rv = $self->_processXIncludes($doc || " ", $options);
- };
- my $err = $@;
- if ( $self->{_State_} != 1 ) {
- $self->_cleanup_callbacks();
- }
-
- if ( $err ) {
- chomp $err;
- croak $err;
- }
- return $rv;
-}
-
-# perl style
-sub process_xincludes {
- my $self = shift;
- my $doc = shift;
- my $opts = shift;
- my $options = $self->_parser_options($opts);
-
- my $rv;
- $self->_init_callbacks();
- eval {
- $rv = $self->_processXIncludes($doc || " ", $options);
- };
- my $err = $@;
- $self->_cleanup_callbacks();
- if ( $err ) {
- chomp $err;
- croak $@;
- }
- return $rv;
-}
-
-#-------------------------------------------------------------------------#
-# HTML parsing functions #
-#-------------------------------------------------------------------------#
-
-sub _html_options {
- my ($self,$opts)=@_;
- $opts = {} unless ref $opts;
- # return (undef,undef) unless ref $opts;
- my $flags = 0;
- $flags |= 1 if exists $opts->{recover} ? $opts->{recover} : $self->recover;
- $flags |= 32 if $opts->{suppress_errors};
- $flags |= 64 if $opts->{suppress_warnings};
- $flags |= 128 if exists $opts->{pedantic_parser} ? $opts->{pedantic_parser} : $self->pedantic_parser;
- $flags |= 256 if exists $opts->{no_blanks} ? $opts->{no_blanks} : !$self->keep_blanks;
- $flags |= 2048 if exists $opts->{no_network} ? $opts->{no_network} : !$self->no_network;
- return ($opts->{URI},$opts->{encoding},$flags);
-}
-
-sub parse_html_string {
- my ($self,$str,$opts) = @_;
- croak("parse_html_string is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self;
- croak("parse already in progress") if $self->{_State_};
-
- unless ( defined $str and length $str ) {
- croak("Empty String");
- }
- $self->{_State_} = 1;
- my $result;
-
- $self->_init_callbacks();
- eval {
- $result = $self->_parse_html_string( $str,
- $self->_html_options($opts)
- );
- };
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- chomp $err;
- $self->_cleanup_callbacks();
- croak $err;
- }
-
- $self->_cleanup_callbacks();
-
- return $result;
-}
-
-sub parse_html_file {
- my ($self,$file,$opts) = @_;
- croak("parse_html_file is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self;
- croak("parse already in progress") if $self->{_State_};
- $self->{_State_} = 1;
- my $result;
-
- $self->_init_callbacks();
- eval { $result = $self->_parse_html_file($file,
- $self->_html_options($opts)
- ); };
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- chomp $err;
- $self->_cleanup_callbacks();
- croak $err;
- }
-
- $self->_cleanup_callbacks();
-
- return $result;
-}
-
-sub parse_html_fh {
- my ($self,$fh,$opts) = @_;
- croak("parse_html_fh is not a class method! Create a parser object with XML::LibXML->new first!") unless ref $self;
- croak("parse already in progress") if $self->{_State_};
- $self->{_State_} = 1;
-
- my $result;
- $self->_init_callbacks();
- eval { $result = $self->_parse_html_fh( $fh,
- $self->_html_options($opts)
- ); };
- my $err = $@;
- $self->{_State_} = 0;
- if ($err) {
- chomp $err;
- $self->_cleanup_callbacks();
- croak $err;
- }
- $self->_cleanup_callbacks();
-
- return $result;
-}
-
-#-------------------------------------------------------------------------#
-# push parser interface #
-#-------------------------------------------------------------------------#
-sub init_push {
- my $self = shift;
-
- if ( defined $self->{CONTEXT} ) {
- delete $self->{CONTEXT};
- }
-
- if ( defined $self->{SAX} ) {
- $self->{CONTEXT} = $self->_start_push(1);
- }
- else {
- $self->{CONTEXT} = $self->_start_push(0);
- }
-}
-
-sub push {
- my $self = shift;
-
- $self->_init_callbacks();
-
- if ( not defined $self->{CONTEXT} ) {
- $self->init_push();
- }
-
- eval {
- foreach ( @_ ) {
- $self->_push( $self->{CONTEXT}, $_ );
- }
- };
- my $err = $@;
- $self->_cleanup_callbacks();
- if ( $err ) {
- chomp $err;
- croak $err;
- }
-}
-
-# this function should be promoted!
-# the reason is because libxml2 uses xmlParseChunk() for this purpose!
-sub parse_chunk {
- my $self = shift;
- my $chunk = shift;
- my $terminate = shift;
-
- if ( not defined $self->{CONTEXT} ) {
- $self->init_push();
- }
-
- if ( defined $chunk and length $chunk ) {
- $self->_push( $self->{CONTEXT}, $chunk );
- }
-
- if ( $terminate ) {
- return $self->finish_push();
- }
-}
-
-
-sub finish_push {
- my $self = shift;
- my $restore = shift || 0;
- return undef unless defined $self->{CONTEXT};
-
- my $retval;
-
- if ( defined $self->{SAX} ) {
- eval {
- $self->_end_sax_push( $self->{CONTEXT} );
- $retval = $self->{HANDLER}->end_document( {} );
- };
- }
- else {
- eval { $retval = $self->_end_push( $self->{CONTEXT}, $restore ); };
- }
- delete $self->{CONTEXT};
- my $err = $@;
- if ( $err ) {
- chomp $err;
- croak( $err );
- }
- return $retval;
-}
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::Node Interface #
-#-------------------------------------------------------------------------#
-package XML::LibXML::Node;
-
-sub isSupported {
- my $self = shift;
- my $feature = shift;
- return $self->can($feature) ? 1 : 0;
-}
-
-sub getChildNodes { my $self = shift; return $self->childNodes(); }
-
-sub childNodes {
- my $self = shift;
- my @children = $self->_childNodes();
- return wantarray ? @children : XML::LibXML::NodeList->new_from_ref(\@children , 1);
-}
-
-sub attributes {
- my $self = shift;
- my @attr = $self->_attributes();
- return wantarray ? @attr : XML::LibXML::NamedNodeMap->new( @attr );
-}
-
-
-sub findnodes {
- my ($node, $xpath) = @_;
- my @nodes = $node->_findnodes($xpath);
- if (wantarray) {
- return @nodes;
- }
- else {
- return XML::LibXML::NodeList->new_from_ref(\@nodes, 1);
- }
-}
-
-sub findvalue {
- my ($node, $xpath) = @_;
- my $res;
- eval {
- $res = $node->find($xpath);
- };
- if ( $@ ) {
- die $@;
- }
- return $res->to_literal->value;
-}
-
-sub find {
- my ($node, $xpath) = @_;
- my ($type, @params) = $node->_find($xpath);
- if ($type) {
- return $type->new(@params);
- }
- return undef;
-}
-
-sub setOwnerDocument {
- my ( $self, $doc ) = @_;
- $doc->adoptNode( $self );
-}
-
-sub toStringC14N {
- my ($self, $comments, $xpath) = (shift, shift, shift);
- return $self->_toStringC14N( $comments || 0,
- (defined $xpath ? $xpath : undef),
- 0,
- undef );
-}
-sub toStringEC14N {
- my ($self, $comments, $xpath, $inc_prefix_list) = @_;
- if (defined($inc_prefix_list) and !UNIVERSAL::isa($inc_prefix_list,'ARRAY')) {
- croak("toStringEC14N: inclusive_prefix_list must be undefined or ARRAY");
- }
- return $self->_toStringC14N( $comments || 0,
- (defined $xpath ? $xpath : undef),
- 1,
- (defined $inc_prefix_list ? $inc_prefix_list : undef));
-}
-
-*serialize_c14n = \&toStringC14N;
-*serialize_exc_c14n = \&toStringEC14N;
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::Document Interface #
-#-------------------------------------------------------------------------#
-package XML::LibXML::Document;
-
-use vars qw(@ISA);
-@ISA = ('XML::LibXML::Node');
-
-sub actualEncoding {
- my $doc = shift;
- my $enc = $doc->encoding;
- return (defined $enc and length $enc) ? $enc : 'UTF-8';
-}
-
-sub setDocumentElement {
- my $doc = shift;
- my $element = shift;
-
- my $oldelem = $doc->documentElement;
- if ( defined $oldelem ) {
- $doc->removeChild($oldelem);
- }
-
- $doc->_setDocumentElement($element);
-}
-
-sub toString {
- my $self = shift;
- my $flag = shift;
-
- my $retval = "";
-
- if ( defined $XML::LibXML::skipXMLDeclaration
- and $XML::LibXML::skipXMLDeclaration == 1 ) {
- foreach ( $self->childNodes ){
- next if $_->nodeType == XML::LibXML::XML_DTD_NODE()
- and $XML::LibXML::skipDTD;
- $retval .= $_->toString;
- }
- }
- else {
- $flag ||= 0 unless defined $flag;
- $retval = $self->_toString($flag);
- }
-
- return $retval;
-}
-
-sub serialize {
- my $self = shift;
- return $self->toString( @_ );
-}
-
-#-------------------------------------------------------------------------#
-# bad style xinclude processing #
-#-------------------------------------------------------------------------#
-sub process_xinclude {
- my $self = shift;
- my $opts = shift;
- XML::LibXML->new->processXIncludes( $self, $opts );
-}
-
-sub insertProcessingInstruction {
- my $self = shift;
- my $target = shift;
- my $data = shift;
-
- my $pi = $self->createPI( $target, $data );
- my $root = $self->documentElement;
-
- if ( defined $root ) {
- # this is actually not correct, but i guess it's what the user
- # intends
- $self->insertBefore( $pi, $root );
- }
- else {
- # if no documentElement was found we just append the PI
- $self->appendChild( $pi );
- }
-}
-
-sub insertPI {
- my $self = shift;
- $self->insertProcessingInstruction( @_ );
-}
-
-#-------------------------------------------------------------------------#
-# DOM L3 Document functions.
-# added after robins implicit feature requst
-#-------------------------------------------------------------------------#
-*getElementsByTagName = \&XML::LibXML::Element::getElementsByTagName;
-*getElementsByTagNameNS = \&XML::LibXML::Element::getElementsByTagNameNS;
-*getElementsByLocalName = \&XML::LibXML::Element::getElementsByLocalName;
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::DocumentFragment Interface #
-#-------------------------------------------------------------------------#
-package XML::LibXML::DocumentFragment;
-
-use vars qw(@ISA);
-@ISA = ('XML::LibXML::Node');
-
-sub toString {
- my $self = shift;
- my $retval = "";
- if ( $self->hasChildNodes() ) {
- foreach my $n ( $self->childNodes() ) {
- $retval .= $n->toString(@_);
- }
- }
- return $retval;
-}
-
-*serialize = \&toString;
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::Element Interface #
-#-------------------------------------------------------------------------#
-package XML::LibXML::Element;
-
-use vars qw(@ISA);
-@ISA = ('XML::LibXML::Node');
-use XML::LibXML qw(:ns :libxml);
-use Carp;
-
-sub setNamespace {
- my $self = shift;
- my $n = $self->nodeName;
- if ( $self->_setNamespace(@_) ){
- if ( scalar @_ < 3 || $_[2] == 1 ){
- $self->setNodeName( $n );
- }
- return 1;
- }
- return 0;
-}
-
-sub getAttribute {
- my $self = shift;
- my $name = $_[0];
- if ( $name =~ /^xmlns(?::|$)/ ) {
- # user wants to get a namespace ...
- (my $prefix = $name )=~s/^xmlns:?//;
- $self->_getNamespaceDeclURI($prefix);
- }
- else {
- $self->_getAttribute(@_);
- }
-}
-
-sub setAttribute {
- my ( $self, $name, $value ) = @_;
- if ( $name =~ /^xmlns(?::|$)/ ) {
- # user wants to set the special attribute for declaring XML namespace ...
-
- # this is fine but not exactly DOM conformant behavior, btw (according to DOM we should
- # probably declare an attribute which looks like XML namespace declaration
- # but isn't)
- (my $nsprefix = $name )=~s/^xmlns:?//;
- my $nn = $self->nodeName;
- if ( $nn =~ /^\Q${nsprefix}\E:/ ) {
- # the element has the same prefix
- $self->setNamespaceDeclURI($nsprefix,$value) ||
- $self->setNamespace($value,$nsprefix,1);
- ##
- ## We set the namespace here.
- ## This is helpful, as in:
- ##
- ## | $e = XML::LibXML::Element->new('foo:bar');
- ## | $e->setAttribute('xmlns:foo','http://yoyodine')
- ##
- }
- else {
- # just modify the namespace
- $self->setNamespaceDeclURI($nsprefix, $value) ||
- $self->setNamespace($value,$nsprefix,0);
- }
- }
- else {
- $self->_setAttribute($name, $value);
- }
-}
-
-sub getAttributeNS {
- my $self = shift;
- my ($nsURI, $name) = @_;
- croak("invalid attribute name") if !defined($name) or $name eq q{};
- if ( defined($nsURI) and $nsURI eq XML_XMLNS_NS ) {
- $self->_getNamespaceDeclURI($name eq 'xmlns' ? undef : $name);
- }
- else {
- $self->_getAttributeNS(@_);
- }
-}
-
-sub setAttributeNS {
- my ($self, $nsURI, $qname, $value)=@_;
- unless (defined $qname and length $qname) {
- croak("bad name");
- }
- if (defined($nsURI) and $nsURI eq XML_XMLNS_NS) {
- if ($qname !~ /^xmlns(?::|$)/) {
- croak("NAMESPACE ERROR: Namespace declartions must have the prefix 'xmlns'");
- }
- $self->setAttribute($qname,$value); # see implementation above
- return;
- }
- if ($qname=~/:/ and not (defined($nsURI) and length($nsURI))) {
- croak("NAMESPACE ERROR: Attribute without a prefix cannot be in a namespace");
- }
- if ($qname=~/^xmlns(?:$|:)/) {
- croak("NAMESPACE ERROR: 'xmlns' prefix and qualified-name are reserved for the namespace ".XML_XMLNS_NS);
- }
- if ($qname=~/^xml:/ and not (defined $nsURI and $nsURI eq XML_XML_NS)) {
- croak("NAMESPACE ERROR: 'xml' prefix is reserved for the namespace ".XML_XML_NS);
- }
- $self->_setAttributeNS( defined $nsURI ? $nsURI : undef, $qname, $value );
-}
-
-sub getElementsByTagName {
- my ( $node , $name ) = @_;
- my $xpath = $name eq '*' ? "descendant::*" : "descendant::*[name()='$name']";
- my @nodes = $node->_findnodes($xpath);
- return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1);
-}
-
-sub getElementsByTagNameNS {
- my ( $node, $nsURI, $name ) = @_;
- my $xpath;
- if ( $name eq '*' ) {
- if ( $nsURI eq '*' ) {
- $xpath = "descendant::*";
- } else {
- $xpath = "descendant::*[namespace-uri()='$nsURI']";
- }
- } elsif ( $nsURI eq '*' ) {
- $xpath = "descendant::*[local-name()='$name']";
- } else {
- $xpath = "descendant::*[local-name()='$name' and namespace-uri()='$nsURI']";
- }
- my @nodes = $node->_findnodes($xpath);
- return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1);
-}
-
-sub getElementsByLocalName {
- my ( $node,$name ) = @_;
- my $xpath;
- if ($name eq '*') {
- $xpath = "descendant::*";
- } else {
- $xpath = "descendant::*[local-name()='$name']";
- }
- my @nodes = $node->_findnodes($xpath);
- return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1);
-}
-
-sub getChildrenByTagName {
- my ( $node, $name ) = @_;
- my @nodes;
- if ($name eq '*') {
- @nodes = grep { $_->nodeType == XML_ELEMENT_NODE() }
- $node->childNodes();
- } else {
- @nodes = grep { $_->nodeName eq $name } $node->childNodes();
- }
- return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1);
-}
-
-sub getChildrenByLocalName {
- my ( $node, $name ) = @_;
- my @nodes;
- if ($name eq '*') {
- @nodes = grep { $_->nodeType == XML_ELEMENT_NODE() }
- $node->childNodes();
- } else {
- @nodes = grep { $_->nodeType == XML_ELEMENT_NODE() and
- $_->localName eq $name } $node->childNodes();
- }
- return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1);
-}
-
-sub getChildrenByTagNameNS {
- my ( $node, $nsURI, $name ) = @_;
- my @nodes = $node->_getChildrenByTagNameNS($nsURI,$name);
- return wantarray ? @nodes : XML::LibXML::NodeList->new_from_ref(\@nodes, 1);
-}
-
-sub appendWellBalancedChunk {
- my ( $self, $chunk ) = @_;
-
- my $local_parser = XML::LibXML->new();
- my $frag = $local_parser->parse_xml_chunk( $chunk );
-
- $self->appendChild( $frag );
-}
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::Text Interface #
-#-------------------------------------------------------------------------#
-package XML::LibXML::Text;
-
-use vars qw(@ISA);
-@ISA = ('XML::LibXML::Node');
-
-sub attributes { return undef; }
-
-sub deleteDataString {
- my $node = shift;
- my $string = shift;
- my $all = shift;
- my $data = $node->nodeValue();
- $string =~ s/([\\\*\+\^\{\}\&\?\[\]\(\)\$\%\@])/\\$1/g;
- if ( $all ) {
- $data =~ s/$string//g;
- }
- else {
- $data =~ s/$string//;
- }
- $node->setData( $data );
-}
-
-sub replaceDataString {
- my ( $node, $left, $right,$all ) = @_;
-
- #ashure we exchange the strings and not expressions!
- $left =~ s/([\\\*\+\^\{\}\&\?\[\]\(\)\$\%\@])/\\$1/g;
- my $datastr = $node->nodeValue();
- if ( $all ) {
- $datastr =~ s/$left/$right/g;
- }
- else{
- $datastr =~ s/$left/$right/;
- }
- $node->setData( $datastr );
-}
-
-sub replaceDataRegEx {
- my ( $node, $leftre, $rightre, $flags ) = @_;
- return unless defined $leftre;
- $rightre ||= "";
-
- my $datastr = $node->nodeValue();
- my $restr = "s/" . $leftre . "/" . $rightre . "/";
- $restr .= $flags if defined $flags;
-
- eval '$datastr =~ '. $restr;
-
- $node->setData( $datastr );
-}
-
-1;
-
-package XML::LibXML::Comment;
-
-use vars qw(@ISA);
-@ISA = ('XML::LibXML::Text');
-
-1;
-
-package XML::LibXML::CDATASection;
-
-use vars qw(@ISA);
-@ISA = ('XML::LibXML::Text');
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::Attribute Interface #
-#-------------------------------------------------------------------------#
-package XML::LibXML::Attr;
-use vars qw( @ISA ) ;
-@ISA = ('XML::LibXML::Node') ;
-
-sub setNamespace {
- my ($self,$href,$prefix) = @_;
- my $n = $self->nodeName;
- if ( $self->_setNamespace($href,$prefix) ) {
- $self->setNodeName($n);
- return 1;
- }
-
- return 0;
-}
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::Dtd Interface #
-#-------------------------------------------------------------------------#
-# this is still under construction
-#
-package XML::LibXML::Dtd;
-use vars qw( @ISA );
-@ISA = ('XML::LibXML::Node');
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::PI Interface #
-#-------------------------------------------------------------------------#
-package XML::LibXML::PI;
-use vars qw( @ISA );
-@ISA = ('XML::LibXML::Node');
-
-sub setData {
- my $pi = shift;
-
- my $string = "";
- if ( scalar @_ == 1 ) {
- $string = shift;
- }
- else {
- my %h = @_;
- $string = join " ", map {$_.'="'.$h{$_}.'"'} keys %h;
- }
-
- # the spec says any char but "?>" [17]
- $pi->_setData( $string ) unless $string =~ /\?>/;
-}
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::Namespace Interface #
-#-------------------------------------------------------------------------#
-package XML::LibXML::Namespace;
-
-# this is infact not a node!
-sub prefix { return "xmlns"; }
-sub getPrefix { return "xmlns"; }
-sub getNamespaceURI { return "http://www.w3.org/2000/xmlns/" };
-
-sub getNamespaces { return (); }
-
-sub nodeName {
- my $self = shift;
- my $nsP = $self->localname;
- return ( defined($nsP) && length($nsP) ) ? "xmlns:$nsP" : "xmlns";
-}
-sub name { goto &nodeName }
-sub getName { goto &nodeName }
-
-sub isEqualNode {
- my ( $self, $ref ) = @_;
- if ( ref($ref) eq "XML::LibXML::Namespace" ) {
- return $self->_isEqual($ref);
- }
- return 0;
-}
-
-sub isSameNode {
- my ( $self, $ref ) = @_;
- if ( $$self == $$ref ){
- return 1;
- }
- return 0;
-}
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::NamedNodeMap Interface #
-#-------------------------------------------------------------------------#
-package XML::LibXML::NamedNodeMap;
-
-use XML::LibXML::Common qw(:libxml);
-
-sub new {
- my $class = shift;
- my $self = bless { Nodes => [@_] }, $class;
- $self->{NodeMap} = { map { $_->nodeName => $_ } @_ };
- return $self;
-}
-
-sub length { return scalar( @{$_[0]->{Nodes}} ); }
-sub nodes { return $_[0]->{Nodes}; }
-sub item { $_[0]->{Nodes}->[$_[1]]; }
-
-sub getNamedItem {
- my $self = shift;
- my $name = shift;
-
- return $self->{NodeMap}->{$name};
-}
-
-sub setNamedItem {
- my $self = shift;
- my $node = shift;
-
- my $retval;
- if ( defined $node ) {
- if ( scalar @{$self->{Nodes}} ) {
- my $name = $node->nodeName();
- if ( $node->nodeType() == XML_NAMESPACE_DECL ) {
- return;
- }
- if ( defined $self->{NodeMap}->{$name} ) {
- if ( $node->isSameNode( $self->{NodeMap}->{$name} ) ) {
- return;
- }
- $retval = $self->{NodeMap}->{$name}->replaceNode( $node );
- }
- else {
- $self->{Nodes}->[0]->addSibling($node);
- }
-
- $self->{NodeMap}->{$name} = $node;
- push @{$self->{Nodes}}, $node;
- }
- else {
- # not done yet
- # can this be properly be done???
- warn "not done yet\n";
- }
- }
- return $retval;
-}
-
-sub removeNamedItem {
- my $self = shift;
- my $name = shift;
- my $retval;
- if ( $name =~ /^xmlns/ ) {
- warn "not done yet\n";
- }
- elsif ( exists $self->{NodeMap}->{$name} ) {
- $retval = $self->{NodeMap}->{$name};
- $retval->unbindNode;
- delete $self->{NodeMap}->{$name};
- $self->{Nodes} = [grep {not($retval->isSameNode($_))} @{$self->{Nodes}}];
- }
-
- return $retval;
-}
-
-sub getNamedItemNS {
- my $self = shift;
- my $nsURI = shift;
- my $name = shift;
- return undef;
-}
-
-sub setNamedItemNS {
- my $self = shift;
- my $nsURI = shift;
- my $node = shift;
- return undef;
-}
-
-sub removeNamedItemNS {
- my $self = shift;
- my $nsURI = shift;
- my $name = shift;
- return undef;
-}
-
-1;
-
-package XML::LibXML::_SAXParser;
-
-# this is pseudo class!!! and it will be removed as soon all functions
-# moved to XS level
-
-use XML::SAX::Exception;
-
-# these functions will use SAX exceptions as soon i know how things really work
-sub warning {
- my ( $parser, $message, $line, $col ) = @_;
- my $error = XML::SAX::Exception::Parse->new( LineNumber => $line,
- ColumnNumber => $col,
- Message => $message, );
- $parser->{HANDLER}->warning( $error );
-}
-
-sub error {
- my ( $parser, $message, $line, $col ) = @_;
-
- my $error = XML::SAX::Exception::Parse->new( LineNumber => $line,
- ColumnNumber => $col,
- Message => $message, );
- $parser->{HANDLER}->error( $error );
-}
-
-sub fatal_error {
- my ( $parser, $message, $line, $col ) = @_;
- my $error = XML::SAX::Exception::Parse->new( LineNumber => $line,
- ColumnNumber => $col,
- Message => $message, );
- $parser->{HANDLER}->fatal_error( $error );
-}
-
-1;
-
-package XML::LibXML::RelaxNG;
-
-sub new {
- my $class = shift;
- my %args = @_;
-
- my $self = undef;
- if ( defined $args{location} ) {
- $self = $class->parse_location( $args{location} );
- }
- elsif ( defined $args{string} ) {
- $self = $class->parse_buffer( $args{string} );
- }
- elsif ( defined $args{DOM} ) {
- $self = $class->parse_document( $args{DOM} );
- }
-
- return $self;
-}
-
-1;
-
-package XML::LibXML::Schema;
-
-sub new {
- my $class = shift;
- my %args = @_;
-
- my $self = undef;
- if ( defined $args{location} ) {
- $self = $class->parse_location( $args{location} );
- }
- elsif ( defined $args{string} ) {
- $self = $class->parse_buffer( $args{string} );
- }
-
- return $self;
-}
-
-1;
-
-#-------------------------------------------------------------------------#
-# XML::LibXML::InputCallback Interface #
-#-------------------------------------------------------------------------#
-package XML::LibXML::InputCallback;
-
-use vars qw($_CUR_CB @_GLOBAL_CALLBACKS @_CB_STACK);
-
-$_CUR_CB = undef;
-
-@_GLOBAL_CALLBACKS = ();
-@_CB_STACK = ();
-
-#-------------------------------------------------------------------------#
-# global callbacks #
-#-------------------------------------------------------------------------#
-sub _callback_match {
- my $uri = shift;
- my $retval = 0;
-
- # loop through the callbacks and and find the first matching
- # The callbacks are stored in execution order (reverse stack order)
- # any new global callbacks are shifted to the callback stack.
- foreach my $cb ( @_GLOBAL_CALLBACKS ) {
-
- # callbacks have to return 1, 0 or undef, while 0 and undef
- # are handled the same way.
- # in fact, if callbacks return other values, the global match
- # assumes silently that the callback failed.
-
- $retval = $cb->[0]->($uri);
-
- if ( defined $retval and $retval == 1 ) {
- # make the other callbacks use this callback
- $_CUR_CB = $cb;
- unshift @_CB_STACK, $cb;
- last;
- }
- }
-
- return $retval;
-}
-
-sub _callback_open {
- my $uri = shift;
- my $retval = undef;
-
- # the open callback has to return a defined value.
- # if one works on files this can be a file handle. But
- # depending on the needs of the callback it also can be a
- # database handle or a integer labeling a certain dataset.
-
- if ( defined $_CUR_CB ) {
- $retval = $_CUR_CB->[1]->( $uri );
-
- # reset the callbacks, if one callback cannot open an uri
- if ( not defined $retval or $retval == 0 ) {
- shift @_CB_STACK;
- $_CUR_CB = $_CB_STACK[0];
- }
- }
-
- return $retval;
-}
-
-sub _callback_read {
- my $fh = shift;
- my $buflen = shift;
-
- my $retval = undef;
-
- if ( defined $_CUR_CB ) {
- $retval = $_CUR_CB->[2]->( $fh, $buflen );
- }
-
- return $retval;
-}
-
-sub _callback_close {
- my $fh = shift;
- my $retval = 0;
-
- if ( defined $_CUR_CB ) {
- $retval = $_CUR_CB->[3]->( $fh );
- shift @_CB_STACK;
- $_CUR_CB = $_CB_STACK[0];
- }
-
- return $retval;
-}
-
-#-------------------------------------------------------------------------#
-# member functions and methods #
-#-------------------------------------------------------------------------#
-
-sub new {
- my $CLASS = shift;
- return bless {'_CALLBACKS' => []}, $CLASS;
-}
-
-# add a callback set to the callback stack
-# synopsis: $icb->register_callbacks( [$match_cb, $open_cb, $read_cb, $close_cb] );
-sub register_callbacks {
- my $self = shift;
- my $cbset = shift;
-
- # test if callback set is complete
- if ( ref $cbset eq "ARRAY" and scalar( @$cbset ) == 4 ) {
- unshift @{$self->{_CALLBACKS}}, $cbset;
- }
-}
-
-# remove a callback set to the callback stack
-# if a callback set is passed, this function will check for the match function
-sub unregister_callbacks {
- my $self = shift;
- my $cbset = shift;
- if ( ref $cbset eq "ARRAY" and scalar( @$cbset ) == 4 ) {
- $self->{_CALLBACKS} = [grep { $_->[0] != $cbset->[0] } @{$self->{_CALLBACKS}}];
- }
- else {
- shift @{$self->{_CALLBACKS}};
- }
-}
-
-# make libxml2 use the callbacks
-sub init_callbacks {
- my $self = shift;
-
- $_CUR_CB = undef;
- @_CB_STACK = ();
-
- @_GLOBAL_CALLBACKS = @{ $self->{_CALLBACKS} };
-
- if ( defined $XML::LibXML::match_cb and
- defined $XML::LibXML::open_cb and
- defined $XML::LibXML::read_cb and
- defined $XML::LibXML::close_cb ) {
- push @_GLOBAL_CALLBACKS, [$XML::LibXML::match_cb,
- $XML::LibXML::open_cb,
- $XML::LibXML::read_cb,
- $XML::LibXML::close_cb];
- }
-
- $self->lib_init_callbacks();
-}
-
-# reset libxml2's callbacks
-sub cleanup_callbacks {
- my $self = shift;
-
- $_CUR_CB = undef;
- @_GLOBAL_CALLBACKS = ();
- @_CB_STACK = ();
-
- $self->lib_cleanup_callbacks();
-}
-
-1;
-
-__END__
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod
deleted file mode 100644
index f4f59f9e518..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod
+++ /dev/null
@@ -1,433 +0,0 @@
-=head1 NAME
-
-XML::LibXML - Perl Binding for libxml2
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- my $parser = XML::LibXML->new();
-
- my $doc = $parser->parse_string(<<'EOT');
- <some-xml/>
- EOT
-
- $Version_String = XML::LibXML::LIBXML_DOTTED_VERSION;
- $Version_ID = XML::LibXML::LIBXML_VERSION;
- $DLL_Version = XML::LibXML::LIBXML_RUNTIME_VERSION;
- $libxmlnode = XML::LibXML->import_GDOME( $node, $deep );
- $gdomenode = XML::LibXML->export_GDOME( $node, $deep );
-
-=head1 DESCRIPTION
-
-This module is an interface to libxml2, providing XML and HTML parsers with
-DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 interface and
-a XML::XPath-like interface to XPath API of libxml2. The module is split into
-several packages which are not described in this section; unless stated
-otherwise, you only need to C<<<<<< use XML::LibXML; >>>>>> in your programs.
-
-For further information, please check the following documentation:
-
-=over 4
-
-=item B<>
-
-Parsing XML Files with XML::LibXML
-
-
-=item B<>
-
-XML::LibXML DOM Implementation
-
-
-=item B<>
-
-XML::LibXML direct SAX parser
-
-
-=item B<>
-
-Reading XML with a pull-parser
-
-
-=item B<>
-
-XML::LibXML DOM Document Class
-
-
-=item B<>
-
-Abstract Base Class of XML::LibXML Nodes
-
-
-=item B<>
-
-XML::LibXML Class for Element Nodes
-
-
-=item B<>
-
-XML::LibXML Class for Text Nodes
-
-
-=item B<>
-
-XML::LibXML Comment Nodes
-
-
-=item B<>
-
-XML::LibXML Class for CDATA Sections
-
-
-=item B<>
-
-XML::LibXML Attribute Class
-
-
-=item B<>
-
-XML::LibXML's DOM L2 Document Fragment Implementation
-
-
-=item B<>
-
-XML::LibXML Namespace Implementation
-
-
-=item B<>
-
-XML::LibXML Processing Instructions
-
-
-=item B<>
-
-XML::LibXML DTD Support
-
-
-=item B<>
-
-XML::LibXML frontend for RelaxNG schema validation
-
-
-=item B<>
-
-XML::LibXML frontend for W3C Schema schema validation
-
-
-=item B<>
-
-API for evaluating XPath expressions with enhanced support for the evaluation
-context
-
-
-
-=back
-
-
-=head1 ENCODINGS SUPPORT IN XML::LIBXML
-
-Recall that since version 5.6.1, Perl distinguishes between character strings
-(internally encoded in UTF-8) and so called binary data and, accordingly,
-applies either character or byte semantics to them. A scalar representing a
-character string is distinguished from a byte string by special flag (UTF8).
-Please refer to I<<<<<< perlunicode >>>>>> for details.
-
-XML::LibXML's API is designed to deal with many encodings of XML documents
-completely transparently, so that the application using XML::LibXML can be
-completely ignorant about the encoding of the XML documents it works with. On
-the other hand, functions like C<<<<<< XML::LibXML::Document->setEncoding >>>>>> give the user control over the document encoding.
-
-To ensure the aforementioned transparency and uniformity, most functions of
-XML::LibXML that work with in-memory trees accept and return data as character
-strings (i.e. UTF-8 encoded with the UTF8 flag on) regardless of the original
-document encoding; however, the functions related to I/O operations (i.e.
-parsing and saving) operate with binary data (in the original document
-encoding) obeying the encoding declaration of the XML documents.
-
-Below we summarize basic rules and principles regarding encoding:
-
-
-=over 4
-
-=item 1.
-
-Do NOT apply any encoding-related PerlIO layers (C<<<<<< :utf8 >>>>>> or C<<<<<< :encoding(...) >>>>>>) to file handles that are an imput for the parses or an ouptut for a
-serializer of (full) XML documents. This is because the conversion of the data
-to/from the internal character representation is provided by libxml2 itself
-which must be able to enforce the encoding specified by the C<<<<<< <?xml version="1.0" encoding="..."?> >>>>>> declaration. Here is an example to follow:
-
- use XML::LibXML;
- my $parser = XML::LibXML->new;
- open my $fh, "file.xml";
- binmode $fh; # drop all PerlIO layers possibly created by a use open pragma
- $doc = $parser->parse_fh($fh);
- open my $out, "out.xml";
- binmode $fh; # as above
- $doc->toFh($fh);
- # or
- print $fh $doc->toString();
-
-
-
-
-
-=item 2.
-
-All functions working with DOM accept and return character strings (UTF-8
-encoded with UTF8 flag on). E.g.
-
- my $doc = XML::LibXML:Document->new('1.0',$some_encoding);
- my $element = $doc->createElement($name);
- $element->appendText($text);
- $xml_fragment = $element->toString(); # returns a character string
- $xml_document = $doc->toString(); # returns a byte string
-
-where C<<<<<< $some_encoding >>>>>> is the document encoding that will be used when saving the document, and C<<<<<< $name >>>>>> and C<<<<<< $text >>>>>> contain character strings (UTF-8 encoded with UTF8 flag on). Note that the
-method C<<<<<< toString >>>>>> returns XML as a character string if applied to other node than the Document
-node and a byte string containing the apropriate
-
- <?xml version="1.0" encoding="..."?>
-
-declaration if appliled to a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>.
-
-
-
-=item 3.
-
-DOM methods also accept binary strings in the original encoding of the document
-to which the node belongs (UTF-8 is assumed if the node is not attached to any
-document). Exploiting this feature is NOT RECOMMENDED since it is considered a
-bad practice.
-
-
-
- my $doc = XML::LibXML:Document->new('1.0','iso-8859-2');
- my $text = $doc->createTextNode($some_latin2_encoded_byte_string);
- # WORKS, BUT NOT RECOMMENDED!
-
-
-
-=back
-
-I<<<<<< NOTE: >>>>>> libxml2 support for many encodings is based on the iconv library. The actual
-list of supported encodings may vary from platform to platform. To test if your
-platform works correctly with your language encoding, build a simple document
-in the particular encoding and try to parse it with XML::LibXML to see if the
-parser produces any errors. Occasional crashes were reported on rare platforms
-that ship with a broken version of iconv.
-
-
-=head1 VERSION INFORMATION
-
-Sometimes it is useful to figure out, for which version XML::LibXML was
-compiled for. In most cases this is for debugging or to check if a given
-installation meets all functionality for the package. The functions
-XML::LibXML::LIBXML_DOTTED_VERSION and XML::LibXML::LIBXML_VERSION provide this
-version information. Both functions simply pass through the values of the
-similar named macros of libxml2. Similarly, XML::LibXML::LIBXML_RUNTIME_VERSION
-returns the version of the (usually dynamically) linked libxml2.
-
-=over 4
-
-=item B<XML::LibXML::LIBXML_DOTTED_VERSION>
-
- $Version_String = XML::LibXML::LIBXML_DOTTED_VERSION;
-
-Returns the version string of the libxml2 version XML::LibXML was compiled for.
-This will be "2.6.2" for "libxml2 2.6.2".
-
-
-=item B<XML::LibXML::LIBXML_VERSION>
-
- $Version_ID = XML::LibXML::LIBXML_VERSION;
-
-Returns the version id of the libxml2 version XML::LibXML was compiled for.
-This will be "20602" for "libxml2 2.6.2". Don't mix this version id with
-$XML::LibXML::VERSION. The latter contains the version of XML::LibXML itself
-while the first contains the version of libxml2 XML::LibXML was compiled for.
-
-
-=item B<XML::LibXML::LIBXML_RUNTIME_VERSION>
-
- $DLL_Version = XML::LibXML::LIBXML_RUNTIME_VERSION;
-
-Returns a version string of the libxml2 which is (usually dynamically) linked
-by XML::LibXML. This will be "20602" for libxml2 released as "2.6.2" and
-something like "20602-CVS2032" for a CVS build of libxml2.
-
-XML::LibXML issues a warning if the version of libxml2 dynamically linked to it
-is less than the version of libxml2 which it was compiled against.
-
-
-
-=back
-
-
-=head1 EXPORTS
-
-By default the module exports all constants and functions listed in the :all
-tag, described below.
-
-
-=head1 EXPORT TAGS
-
-=over 4
-
-=item B<:all>
-
-Includes the tags C<<<<<< :libxml >>>>>>, C<<<<<< :encoding >>>>>>, and C<<<<<< :ns >>>>>> described below.
-
-
-=item B<:libxml>
-
-Exports integer constants for DOM node types (defined in a separately
-distributed XML::LibXML::Common module).
-
-
-
- XML_ELEMENT_NODE => 1
- XML_ATTRIBUTE_NODE => 2
- XML_TEXT_NODE => 3
- XML_CDATA_SECTION_NODE => 4
- XML_ENTITY_REF_NODE => 5
- XML_ENTITY_NODE => 6
- XML_PI_NODE => 7
- XML_COMMENT_NODE => 8
- XML_DOCUMENT_NODE => 9
- XML_DOCUMENT_TYPE_NODE => 10
- XML_DOCUMENT_FRAG_NODE => 11
- XML_NOTATION_NODE => 12
- XML_HTML_DOCUMENT_NODE => 13
- XML_DTD_NODE => 14
- XML_ELEMENT_DECL => 15
- XML_ATTRIBUTE_DECL => 16
- XML_ENTITY_DECL => 17
- XML_NAMESPACE_DECL => 18
- XML_XINCLUDE_START => 19
- XML_XINCLUDE_END => 20
-
-
-=item B<:encoding>
-
-Exports two encoding conversion functions from the (separate) module
-XML::LibXML::Common.
-
-
-
- encodeToUTF8()
- decodeFromUTF8()
-
-
-=item B<:libxml>
-
-Exports two convenience constants: the implicit namespace of the reserved C<<<<<< xml: >>>>>> prefix, and the implicit namespace for the reserved C<<<<<< xmlns: >>>>>> prefix.
-
-
-
- XML_XML_NS => 'http://www.w3.org/XML/1998/namespace'
- XML_XMLNS_NS => 'http://www.w3.org/2000/xmlns/'
-
-
-
-=back
-
-
-=head1 RELATED MODULES
-
-The modules described in this section are not part of the XML::LibXML package
-itself. As they support some additional features, they are mentioned here.
-
-=over 4
-
-=item B<XML::LibXSLT>
-
-XSLT 1.0 Processor using libxslt and XML::LibXML
-
-
-=item B<XML::LibXML::Common>
-
-Common functions for XML::LibXML related Classes
-
-
-=item B<XML::LibXML::Iterator>
-
-XML::LibXML Implementation of the DOM Traversal Specification
-
-
-
-=back
-
-
-=head1 XML::LIBXML AND XML::GDOME
-
-Note: I<<<<<< THE FUNCTIONS DESCRIBED HERE ARE STILL EXPERIMENTAL >>>>>>
-
-Although both modules make use of libxml2's XML capabilities, the DOM
-implementation of both modules are not compatible. But still it is possible to
-exchange nodes from one DOM to the other. The concept of this exchange is
-pretty similar to the function cloneNode(): The particular node is copied on
-the low-level to the opposite DOM implementation.
-
-Since the DOM implementations cannot coexist within one document, one is forced
-to copy each node that should be used. Because you are always keeping two nodes
-this may cause quite an impact on a machines memory usage.
-
-XML::LibXML provides two functions to export or import GDOME nodes:
-import_GDOME() and export_GDOME(). Both function have two parameters: the node
-and a flag for recursive import. The flag works as in cloneNode().
-
-The two functions allow to export and import XML::GDOME nodes explicitly,
-however, XML::LibXML allows also the transparent import of XML::GDOME nodes in
-functions such as appendChild(), insertAfter() and so on. While native nodes
-are automatically adopted in most functions XML::GDOME nodes are always cloned
-in advance. Thus if the original node is modified after the operation, the node
-in the XML::LibXML document will not have this information.
-
-=over 4
-
-=item B<import_GDOME>
-
- $libxmlnode = XML::LibXML->import_GDOME( $node, $deep );
-
-This clones an XML::GDOME node to a XML::LibXML node explicitly.
-
-
-=item B<export_GDOME>
-
- $gdomenode = XML::LibXML->export_GDOME( $node, $deep );
-
-Allows to clone an XML::LibXML node into a XML::GDOME node.
-
-
-
-=back
-
-
-=head1 CONTACTS
-
-For bug reports, please use the CPAN request tracker on
-http://rt.cpan.org/NoAuth/Bugs.html?Dist=XML-LibXML
-
-For suggestions etc., and other issues related to XML::LibXML you may use the
-perl XML mailing list (C<<<<<< perl-xml@listserv.ActiveState.com >>>>>>), where most XML-related Perl modules are discussed. In case of problems you
-should check the archives of that list first. Many problems are already
-discussed there. You can find the list's archives and subscription options at L<<<<<< http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/perl-xml|http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/perl-xml >>>>>>.
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod
deleted file mode 100644
index d20d4234163..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod
+++ /dev/null
@@ -1,130 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Attr - XML::LibXML Attribute Class
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- # Only methods specific to Attribute nodes are listed here,
- # see XML::LibXML::Node manpage for other methods
-
- $attr = XML::LibXML::Attr->new($name [,$value]);
- $string = $attr->getValue();
- $string = $attr->value;
- $attr->setValue( $string );
- $node = $attr->getOwnerElement();
- $attr->setNamespace($nsURI, $prefix);
- $bool = $attr->isId;
- $string = $attr->serializeContent;
-
-=head1 DESCRIPTION
-
-This is the interface to handle Attributes like ordinary nodes. The naming of
-the class relies on the W3C DOM documentation.
-
-
-=head1 METHODS
-
-The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here.
-
-Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation.
-
-=over 4
-
-=item B<new>
-
- $attr = XML::LibXML::Attr->new($name [,$value]);
-
-Class constructor. If you need to work with ISO encoded strings, you should I<<<<<< always >>>>>> use the C<<<<<< createAttrbute >>>>>> of L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>.
-
-
-=item B<getValue>
-
- $string = $attr->getValue();
-
-Returns the value stored for the attribute. If undef is returned, the attribute
-has no value, which is different of being C<<<<<< not specified >>>>>>.
-
-
-=item B<value>
-
- $string = $attr->value;
-
-Alias for I<<<<<< getValue() >>>>>>
-
-
-=item B<setValue>
-
- $attr->setValue( $string );
-
-This is needed to set a new attribute value. If ISO encoded strings are passed
-as parameter, the node has to be bound to a document, otherwise the encoding
-might be done incorrectly.
-
-
-=item B<getOwnerElement>
-
- $node = $attr->getOwnerElement();
-
-returns the node the attribute belongs to. If the attribute is not bound to a
-node, undef will be returned. Overwriting the underlying implementation, the I<<<<<< parentNode >>>>>> function will return undef, instead of the owner element.
-
-
-=item B<setNamespace>
-
- $attr->setNamespace($nsURI, $prefix);
-
-This function tries to bound the attribute to a given namespace. If C<<<<<< $nsURI >>>>>> is undefined or empty, the function discards any previous association of the
-attribute with a namespace. If the namespace was not previously declared in the
-context of the attribute, this function will fail. In this case you may wish to
-call setNamespace() on the ownerElement. If the namespace URI is non-empty and
-declared in the context of the attribute, but only with a different (non-empty)
-prefix, then the attribute is still bound to the namespace but gets a different
-prefix than C<<<<<< $prefix >>>>>>. The function also fails if the prefix is empty but the namespace URI is not
-(because unprefixed attributes should by definition belong to no namespace).
-This function returns 1 on success, 0 otherwise.
-
-
-=item B<isId>
-
- $bool = $attr->isId;
-
-Determine whether an attribute is of type ID. For documents with a DTD, this
-information is only available if DTD loading/validation has been requested. For
-HTML documents parsed with the HTML parser ID detection is done automatically.
-In XML documents, all "xml:id" attributes are considered to be of type ID.
-
-
-=item B<serializeContent($docencoding)>
-
- $string = $attr->serializeContent;
-
-This function is not part of DOM API. It returns attribute content in the form
-in which it serializes into XML, that is with all meta-characters properly
-quoted and with raw entity references (except for entities expanded during
-parse time). Setting the optional $docencoding flag to 1 enforces document
-encoding for the output string (which is then passed to Perl as a byte string).
-Otherwise the string is passed to Perl as (UTF-8 encoded) characters.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm
deleted file mode 100644
index 23352ffd0cc..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm
+++ /dev/null
@@ -1,85 +0,0 @@
-# $Id: Boolean.pm 709 2008-01-29 21:01:32Z pajas $
-# Copyright 2001-2002, AxKit.com Ltd. All rights reserved.
-
-package XML::LibXML::Boolean;
-use XML::LibXML::Number;
-use XML::LibXML::Literal;
-use strict;
-
-use vars qw ($VERSION);
-
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-
-use overload
- '""' => \&value,
- '<=>' => \&cmp;
-
-sub new {
- my $class = shift;
- my ($param) = @_;
- my $val = $param ? 1 : 0;
- bless \$val, $class;
-}
-
-sub True {
- my $class = shift;
- my $val = 1;
- bless \$val, $class;
-}
-
-sub False {
- my $class = shift;
- my $val = 0;
- bless \$val, $class;
-}
-
-sub value {
- my $self = shift;
- $$self;
-}
-
-sub cmp {
- my $self = shift;
- my ($other, $swap) = @_;
- if ($swap) {
- return $other <=> $$self;
- }
- return $$self <=> $other;
-}
-
-sub to_number { XML::LibXML::Number->new($_[0]->value); }
-sub to_boolean { $_[0]; }
-sub to_literal { XML::LibXML::Literal->new($_[0]->value ? "true" : "false"); }
-
-sub string_value { return $_[0]->to_literal->value; }
-
-1;
-__END__
-
-=head1 NAME
-
-XML::LibXML::Boolean - Boolean true/false values
-
-=head1 DESCRIPTION
-
-XML::LibXML::Boolean objects implement simple boolean true/false objects.
-
-=head1 API
-
-=head2 XML::LibXML::Boolean->True
-
-Creates a new Boolean object with a true value.
-
-=head2 XML::LibXML::Boolean->False
-
-Creates a new Boolean object with a false value.
-
-=head2 value()
-
-Returns true or false.
-
-=head2 to_literal()
-
-Returns the string "true" or "false".
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod
deleted file mode 100644
index 3776c2335d7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod
+++ /dev/null
@@ -1,54 +0,0 @@
-=head1 NAME
-
-XML::LibXML::CDATASection - XML::LibXML Class for CDATA Sections
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- # Only methods specific to CDATA nodes are listed here,
- # see XML::LibXML::Node manpage for other methods
-
- $node = XML::LibXML::CDATASection( $content );
-
-=head1 DESCRIPTION
-
-This class provides all functions of L<<<<<< XML::LibXML Class for Text Nodes|XML::LibXML Class for Text Nodes >>>>>>, but for CDATA nodes.
-
-
-=head1 METHODS
-
-The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here.
-
-Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation.
-
-=over 4
-
-=item B<new>
-
- $node = XML::LibXML::CDATASection( $content );
-
-The constructor is the only provided function for this package. It is required,
-because I<<<<<< libxml2 >>>>>> treats the different text node types slightly differently.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod
deleted file mode 100644
index 2e6af2f63ab..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod
+++ /dev/null
@@ -1,55 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Comment - XML::LibXML Comment Class
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- # Only methods specific to Comment nodes are listed here,
- # see XML::LibXML::Node manpage for other methods
-
- $node = XML::LibXML::Comment( $content );
-
-=head1 DESCRIPTION
-
-This class provides all functions of L<<<<<< XML::LibXML Class for Text Nodes|XML::LibXML Class for Text Nodes >>>>>>, but for comment nodes. This can be done, since only the output of the node
-types is different, but not the data structure. :-)
-
-
-=head1 METHODS
-
-The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here.
-
-Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation.
-
-=over 4
-
-=item B<new>
-
- $node = XML::LibXML::Comment( $content );
-
-The constructor is the only provided function for this package. It is required,
-because I<<<<<< libxml2 >>>>>> treats text nodes and comment nodes slightly differently.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm
deleted file mode 100644
index 4c571ad861f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm
+++ /dev/null
@@ -1,306 +0,0 @@
-#-------------------------------------------------------------------------#
-# $Id: Common.pm,v 1.5 2003/02/27 18:32:59 phish108 Exp $
-#-------------------------------------------------------------------------#
-package XML::LibXML::Common;
-
-#-------------------------------------------------------------------------#
-# global blur #
-#-------------------------------------------------------------------------#
-use strict;
-
-require Exporter;
-require DynaLoader;
-use vars qw( @ISA $VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS);
-
-@ISA = qw(DynaLoader Exporter);
-
-$VERSION = '0.13';
-
-bootstrap XML::LibXML::Common $VERSION;
-
-#-------------------------------------------------------------------------#
-# export information #
-#-------------------------------------------------------------------------#
-%EXPORT_TAGS = (
- all => [qw(
- ELEMENT_NODE
- ATTRIBUTE_NODE
- TEXT_NODE
- CDATA_SECTION_NODE
- ENTITY_REFERENCE_NODE
- ENTITY_NODE
- PI_NODE
- PROCESSING_INSTRUCTION_NODE
- COMMENT_NODE
- DOCUMENT_NODE
- DOCUMENT_TYPE_NODE
- DOCUMENT_FRAG_NODE
- DOCUMENT_FRAGMENT_NODE
- NOTATION_NODE
- HTML_DOCUMENT_NODE
- DTD_NODE
- ELEMENT_DECLARATION
- ATTRIBUTE_DECLARATION
- ENTITY_DECLARATION
- NAMESPACE_DECLARATION
- XINCLUDE_END
- XINCLUDE_START
- encodeToUTF8
- decodeFromUTF8
- )],
- w3c => [qw(
- ELEMENT_NODE
- ATTRIBUTE_NODE
- TEXT_NODE
- CDATA_SECTION_NODE
- ENTITY_REFERENCE_NODE
- ENTITY_NODE
- PI_NODE
- PROCESSING_INSTRUCTION_NODE
- COMMENT_NODE
- DOCUMENT_NODE
- DOCUMENT_TYPE_NODE
- DOCUMENT_FRAG_NODE
- DOCUMENT_FRAGMENT_NODE
- NOTATION_NODE
- HTML_DOCUMENT_NODE
- DTD_NODE
- ELEMENT_DECLARATION
- ATTRIBUTE_DECLARATION
- ENTITY_DECLARATION
- NAMESPACE_DECLARATION
- XINCLUDE_END
- XINCLUDE_START
- )],
- libxml => [qw(
- XML_ELEMENT_NODE
- XML_ATTRIBUTE_NODE
- XML_TEXT_NODE
- XML_CDATA_SECTION_NODE
- XML_ENTITY_REF_NODE
- XML_ENTITY_NODE
- XML_PI_NODE
- XML_COMMENT_NODE
- XML_DOCUMENT_NODE
- XML_DOCUMENT_TYPE_NODE
- XML_DOCUMENT_FRAG_NODE
- XML_NOTATION_NODE
- XML_HTML_DOCUMENT_NODE
- XML_DTD_NODE
- XML_ELEMENT_DECL
- XML_ATTRIBUTE_DECL
- XML_ENTITY_DECL
- XML_NAMESPACE_DECL
- XML_XINCLUDE_END
- XML_XINCLUDE_START
- )],
- gdome => [qw(
- GDOME_ELEMENT_NODE
- GDOME_ATTRIBUTE_NODE
- GDOME_TEXT_NODE
- GDOME_CDATA_SECTION_NODE
- GDOME_ENTITY_REF_NODE
- GDOME_ENTITY_NODE
- GDOME_PI_NODE
- GDOME_COMMENT_NODE
- GDOME_DOCUMENT_NODE
- GDOME_DOCUMENT_TYPE_NODE
- GDOME_DOCUMENT_FRAG_NODE
- GDOME_NOTATION_NODE
- GDOME_HTML_DOCUMENT_NODE
- GDOME_DTD_NODE
- GDOME_ELEMENT_DECL
- GDOME_ATTRIBUTE_DECL
- GDOME_ENTITY_DECL
- GDOME_NAMESPACE_DECL
- GDOME_XINCLUDE_END
- GDOME_XINCLUDE_START
- )],
- encoding => [qw(
- encodeToUTF8
- decodeFromUTF8
- )],
- );
-
-@EXPORT_OK = (
- @{$EXPORT_TAGS{encoding}},
- @{$EXPORT_TAGS{w3c}},
- @{$EXPORT_TAGS{libxml}},
- @{$EXPORT_TAGS{gdome}},
- );
-
-@EXPORT = (
- @{$EXPORT_TAGS{encoding}},
- @{$EXPORT_TAGS{w3c}},
- );
-
-#-------------------------------------------------------------------------#
-# W3 conform node types #
-#-------------------------------------------------------------------------#
-use constant ELEMENT_NODE => 1;
-use constant ATTRIBUTE_NODE => 2;
-use constant TEXT_NODE => 3;
-use constant CDATA_SECTION_NODE => 4;
-use constant ENTITY_REFERENCE_NODE => 5;
-use constant ENTITY_NODE => 6;
-use constant PROCESSING_INSTRUCTION_NODE => 7;
-use constant COMMENT_NODE => 8;
-use constant DOCUMENT_NODE => 9;
-use constant DOCUMENT_TYPE_NODE => 10;
-use constant DOCUMENT_FRAGMENT_NODE => 11;
-use constant NOTATION_NODE => 12;
-use constant HTML_DOCUMENT_NODE => 13;
-use constant DTD_NODE => 14;
-use constant ELEMENT_DECLARATION => 15;
-use constant ATTRIBUTE_DECLARATION => 16;
-use constant ENTITY_DECLARATION => 17;
-use constant NAMESPACE_DECLARATION => 18;
-
-#-------------------------------------------------------------------------#
-# some extras for the W3 spec
-#-------------------------------------------------------------------------#
-use constant PI_NODE => 7;
-use constant DOCUMENT_FRAG_NODE => 11;
-use constant XINCLUDE_END => 19;
-use constant XINCLUDE_START => 20;
-
-#-------------------------------------------------------------------------#
-# libxml2 compat names #
-#-------------------------------------------------------------------------#
-use constant XML_ELEMENT_NODE => 1;
-use constant XML_ATTRIBUTE_NODE => 2;
-use constant XML_TEXT_NODE => 3;
-use constant XML_CDATA_SECTION_NODE => 4;
-use constant XML_ENTITY_REF_NODE => 5;
-use constant XML_ENTITY_NODE => 6;
-use constant XML_PI_NODE => 7;
-use constant XML_COMMENT_NODE => 8;
-use constant XML_DOCUMENT_NODE => 9;
-use constant XML_DOCUMENT_TYPE_NODE => 10;
-use constant XML_DOCUMENT_FRAG_NODE => 11;
-use constant XML_NOTATION_NODE => 12;
-use constant XML_HTML_DOCUMENT_NODE => 13;
-use constant XML_DTD_NODE => 14;
-use constant XML_ELEMENT_DECL => 15;
-use constant XML_ATTRIBUTE_DECL => 16;
-use constant XML_ENTITY_DECL => 17;
-use constant XML_NAMESPACE_DECL => 18;
-use constant XML_XINCLUDE_START => 19;
-use constant XML_XINCLUDE_END => 20;
-
-#-------------------------------------------------------------------------#
-# libgdome compat names #
-#-------------------------------------------------------------------------#
-use constant GDOME_ELEMENT_NODE => 1;
-use constant GDOME_ATTRIBUTE_NODE => 2;
-use constant GDOME_TEXT_NODE => 3;
-use constant GDOME_CDATA_SECTION_NODE => 4;
-use constant GDOME_ENTITY_REF_NODE => 5;
-use constant GDOME_ENTITY_NODE => 6;
-use constant GDOME_PI_NODE => 7;
-use constant GDOME_COMMENT_NODE => 8;
-use constant GDOME_DOCUMENT_NODE => 9;
-use constant GDOME_DOCUMENT_TYPE_NODE => 10;
-use constant GDOME_DOCUMENT_FRAG_NODE => 11;
-use constant GDOME_NOTATION_NODE => 12;
-use constant GDOME_HTML_DOCUMENT_NODE => 13;
-use constant GDOME_DTD_NODE => 14;
-use constant GDOME_ELEMENT_DECL => 15;
-use constant GDOME_ATTRIBUTE_DECL => 16;
-use constant GDOME_ENTITY_DECL => 17;
-use constant GDOME_NAMESPACE_DECL => 18;
-use constant GDOME_XINCLUDE_START => 19;
-use constant GDOME_XINCLUDE_END => 20;
-
-1;
-#-------------------------------------------------------------------------#
-__END__
-
-=head1 NAME
-
-XML::LibXML::Common - Routines and Constants common for XML::LibXML and XML::GDOME
-
-=head1 SYNOPSIS
-
- use XML::LibXML::Common;
-
-=head1 DESCRIPTION
-
-XML::LibXML and XML::GDOME share some of the same functionality. This
-package should bundle some shared constansts and functions, so both
-modules may coexist within the same scripts.
-
-XML::LibXML::Common defines all node types as constants. While
-XML::LibXML and XML::GDOME originally declared their own node type
-definitions, one may want to use XML::LibXML::Common in its
-compatibility mode:
-
-=over 4
-
-=item * use XML::LibXML::Common qw(:libxml);
-
-:libxml will use the XML::LibXML Compatibility mode, which defines the
-old 'XML_' node-type definitions
-
-=item * use XML::LibXML::Common qw(:gdome);
-
-This allows one to use the XML::LibXML Compatibility mode, which
-defines the old 'GDOME_' node-type definitions
-
-=item * use XML::LibXML::Common qw(:w3c);
-
-This uses the nodetype definition names as specified for DOM.
-
-=item * use XML::LibXML::Common qw(:encoding);
-
-This is ment if only the encoding functions of XML::LibXML::Common
-should be used.
-
-=back
-
-By default the W3 definitions as defined in the DOM specifications and
-the encoding functions are exported by XML::LibXML::Common.
-
-=head2 encoding functions
-
-To encode or decode a string to or from UTF-8 XML::LibXML::Common exports
-two functions, which use the encoding mechanism of the underlaying
-implementation. These functions should be used, if external encoding
-is required (e.g. for queryfunctions).
-
-=head2 encodeToUTF8
-
- $encodedstring = encodeToUTF8( $name_of_encoding, $sting_to_encode );
-
-The function will encode a string from the specified encoding to UTF-8.
-
-=head2 decodeFromUTF8
-
- $decodedstring = decodeFromUTF8($name_of_encoding, $string_to_decode );
-
-This Function transforms an UTF-8 encoded string the specified
-encoding. While transforms to ISO encodings may cause errors if the
-given stirng contains unsupported characters, both functions can
-transform to UTF-16 encodings as well.
-
-Note that both encoding functions report their errors on the standard
-error. If an error occours the function will croak(). To catch the
-error information it is required to call the encoding function from
-within an eval block to avoid a script to stop.
-
-=head1 AUTHOR
-
-Christian Glahn, (christian.glahn@uibk.ac.at) Innsbruck University
-
-=head1 COPYRIGHT
-
-(c) 2002 Christian Glahn. All rights reserved.
-
-This program is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<perl>, L<XML::LibXML>, L<XML::GDOME>
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod
deleted file mode 100644
index 921a504cf49..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod
+++ /dev/null
@@ -1,139 +0,0 @@
-=head1 NAME
-
-XML::LibXML::DOM - XML::LibXML DOM Implementation
-
-
-=head1 DESCRIPTION
-
-XML::LibXML provides an light-wight interface to I<<<<<< modify >>>>>> a node of the document tree generated by the XML::LibXML parser. This interface
-follows as far as possible the DOM Level 3 specification. Additionally to the
-specified functions the XML::LibXML supports some functions that are more handy
-to use in the perl environment.
-
-One also has to remember, that XML::LibXML is an interface to libxml2 nodes
-which actually reside on the C-Level of XML::LibXML. This means each node is a
-reference to a structure different than a perl hash or array. The only way to
-access these structure's values is through the DOM interface provided by
-XML::LibXML. This also means, that one I<<<<<< can't >>>>>> simply inherit a XML::LibXML node and add new member variables as they were
-hash keys.
-
-The DOM interface of XML::LibXML does not intend to implement a full DOM
-interface as it is done by XML::GDOME and used for full featured application.
-Moreover, it offers an simple way to build or modify documents that are created
-by XML::LibXML's parser.
-
-Another target of the XML::LibXML interface is to make the interfaces of
-libxml2 available to the perl community. This includes also some workarounds to
-some features where libxml2 assumes more control over the C-Level that most
-perl users don't have.
-
-One of the most important parts of the XML::LibXML DOM interface is, that the
-interfaces try do follow the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>> rather strictly. This means the interface functions are named as the DOM
-specification says and not what widespread Java interfaces claim to be
-standard. Although there are several functions that have only a singular
-interface that conforms to the DOM spec XML::LibXML provides an additional Java
-style alias interface.
-
-Also there are some function interfaces left over from early stages of
-XML::LibXML for compatibility reasons. These interfaces are for compatibility
-reasons I<<<<<< only >>>>>>. They might disappear in one of the future versions of XML::LibXML, so a user
-is requested to switch over to the official functions.
-
-
-=head2 Encodings and XML::LibXML's DOM implementation
-
-See the section on Encodings in the I<<<<<< XML::LibXML >>>>>> manual page.
-
-
-=head2 Namespaces and XML::LibXML's DOM implementation
-
-XML::LibXML's DOM implementation is limited by the DOM implementation of
-libxml2 which treats namespaces slightly differently than required by the DOM
-Level 2 specification.
-
-According to the DOM Level 2 specification, namespaces of elements and
-attributes should be persistent, and nodes should be permanently bound to
-namespace URIs as they get created; it should be possible to manipulate the
-special attributes used for declaring XML namespaces just as other attributes
-without affecting the namespaces of other nodes. In DOM Level 2, the
-application is responsible for creating the special attributes consistently
-and/or for correct serialization of the document.
-
-This is both inconvenient, causes problems in serialization of DOM to XML, and
-most importantly, seems almost impossible to implement over libxml2.
-
-In libxml2, namespace URI and prefix of a node is provided by a pointer to a
-namespace declaration (appearing as a special xmlns attribute in the XML
-document). If the prefix or namespace URI of the declaration changes, the
-prefix and namespace URI of all nodes that point to it changes as well.
-Moreover, in contrast to DOM, a node (element or attribute) can only be bound
-to a namespace URI if there is some namespace declaration in the document to
-point to.
-
-Therefore current DOM implementation in XML::LibXML tries to treat namespace
-declarations in a compromise between reason, common sense, limitations of
-libxml2, and the DOM Level 2 specification.
-
-In XML::LibXML, special attributes declaring XML namespaces are often created
-automatically, usually when a namespaced node is attached to a document and no
-existing declaration of the namespace and prefix is in the scope to be reused.
-In this respect, XML::LibXML DOM implementation differs from the DOM Level 2
-specification according to which special attributes for declaring the
-appropriate XML namespaces should not be added when a node with a namespace
-prefix and namespace URI is created.
-
-Namespace declarations are also created when L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>'s createElementNS() or createAttributeNS() function are used. If the a
-namespace is not declared on the documentElement, the namespace will be locally
-declared for the newly created node. In case of Attributes this may look a bit
-confusing, since these nodes cannot have namespace declarations itself. In this
-case the namespace is internally applied to the attribute and later declared on
-the node the attribute is appended to (if required).
-
-The following example may explain this a bit:
-
-
-
- my $doc = XML::LibXML->createDocument;
- my $root = $doc->createElementNS( "", "foo" );
- $doc->setDocumentElement( $root );
-
- my $attr = $doc->createAttributeNS( "bar", "bar:foo", "test" );
- $root->setAttributeNodeNS( $attr );
-
-This piece of code will result in the following document:
-
-
-
- <?xml version="1.0"?>
- <foo xmlns:bar="bar" bar:foo="test"/>
-
-The namespace is declared on the document element during the
-setAttributeNodeNS() call.
-
-Namespaces can be also declared explicitly by the use of XML::LibXML:Element's
-setNamespace() function. Since 1.61, they can also be manipulated with
-functions setNamespaceDeclPrefix() and setNamespaceDeclURI() (not available in
-DOM). Changing an URI or prefix of an existing namespace declaration affects
-the namespace URI and prefix of all nodes which point to it (that is the nodes
-in its scope).
-
-It is also important to repeat the specification: While working with namespaces
-you should use the namespace aware functions instead of the simplified
-versions. For example you should I<<<<<< never >>>>>> use setAttribute() but setAttributeNS().
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod
deleted file mode 100644
index 02c7a0dfe18..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod
+++ /dev/null
@@ -1,675 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Document - XML::LibXML DOM Document Class
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- # Only methods specific to Document nodes are listed here,
- # see XML::LibXML::Node manpage for other methods
-
- $dom = XML::LibXML::Document->new( $version, $encoding );
- $dom = XML::LibXML::Document->createDocument( $version, $encoding );
- $strEncoding = $doc->encoding();
- $strEncoding = $doc->actualEncoding();
- $doc->setEncoding($new_encoding);
- $strVersion = $doc->version();
- $doc->standalone
- $doc->setStandalone($numvalue);
- my $compression = $doc->compression;
- $doc->setCompression($ziplevel);
- $docstring = $dom->toString($format);
- $c14nstr = $doc->toStringC14N($comment_flag,$xpath);
- $ec14nstr = $doc->toStringEC14N($inclusive_prefix_list, $comment_flag,$xpath);
- $str = $doc->serialize($format);
- $c14nstr = $doc->serialize_c14n($comment_flag,$xpath);
- $ec14nstr = $doc->serialize_exc_c14n($comment_flag,$xpath,$inclusive_prefix_list);
- $state = $doc->toFile($filename, $format);
- $state = $doc->toFH($fh, $format);
- $str = $document->toStringHTML();
- $str = $document->serialize_html();
- $bool = $dom->is_valid();
- $dom->validate();
- $root = $dom->documentElement();
- $dom->setDocumentElement( $root );
- $element = $dom->createElement( $nodename );
- $element = $dom->createElementNS( $namespaceURI, $qname );
- $text = $dom->createTextNode( $content_text );
- $comment = $dom->createComment( $comment_text );
- $attrnode = $doc->createAttribute($name [,$value]);
- $attrnode = $doc->createAttributeNS( namespaceURI, $name [,$value] );
- $fragment = $doc->createDocumentFragment();
- $cdata = $dom->create( $cdata_content );
- my $pi = $doc->createProcessingInstruction( $target, $data );
- my $entref = $doc->createEntityReference($refname);
- $dtd = $document->createInternalSubset( $rootnode, $public, $system);
- $dtd = $document->createExternalSubset( $rootnode_name, $publicId, $systemId);
- $document->importNode( $node );
- $document->adoptNode( $node );
- my $dtd = $doc->externalSubset;
- my $dtd = $doc->internalSubset;
- $doc->setExternalSubset($dtd);
- $doc->setInternalSubset($dtd);
- my $dtd = $doc->removeExternalSubset();
- my $dtd = $doc->removeInternalSubset();
- my @nodelist = $doc->getElementsByTagName($tagname);
- my @nodelist = $doc->getElementsByTagNameNS($nsURI,$tagname);
- my @nodelist = $doc->getElementsByLocalName($localname);
- my $node = $doc->getElementById($id);
- $dom->indexElements();
-
-=head1 DESCRIPTION
-
-The Document Class is in most cases the result of a parsing process. But
-sometimes it is necessary to create a Document from scratch. The DOM Document
-Class provides functions that conform to the DOM Core naming style.
-
-It inherits all functions from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> as specified in the DOM specification. This enables access to the nodes besides
-the root element on document level - a C<<<<<< DTD >>>>>> for example. The support for these nodes is limited at the moment.
-
-While generally nodes are bound to a document in the DOM concept it is
-suggested that one should always create a node not bound to any document. There
-is no need of really including the node to the document, but once the node is
-bound to a document, it is quite safe that all strings have the correct
-encoding. If an unbound text node with an ISO encoded string is created (e.g.
-with $CLASS->new()), the C<<<<<< toString >>>>>> function may not return the expected result.
-
-To prevent such problems, it is recommended to pass all data to XML::LibXML
-methods as character strings (i.e. UTF-8 encoded, with the UTF8 flag on).
-
-
-=head1 METHODS
-
-Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation.
-
-=over 4
-
-=item B<new>
-
- $dom = XML::LibXML::Document->new( $version, $encoding );
-
-alias for createDocument()
-
-
-=item B<createDocument>
-
- $dom = XML::LibXML::Document->createDocument( $version, $encoding );
-
-The constructor for the document class. As Parameter it takes the version
-string and (optionally) the encoding string. Simply calling I<<<<<< createDocument >>>>>>() will create the document:
-
-
-
- <?xml version="your version" encoding="your encoding"?>
-
-Both parameter are optional. The default value for I<<<<<< $version >>>>>> is C<<<<<< 1.0 >>>>>>, of course. If the I<<<<<< $encoding >>>>>> parameter is not set, the encoding will be left unset, which means UTF-8 is
-implied.
-
-The call of I<<<<<< createDocument >>>>>>() without any parameter will result the following code:
-
-
-
- <?xml version="1.0"?>
-
-Alternatively one can call this constructor directly from the XML::LibXML class
-level, to avoid some typing. This will not have any effect on the class
-instance, which is always XML::LibXML::Document.
-
-
-
- my $document = XML::LibXML->createDocument( "1.0", "UTF-8" );
-
-is therefore a shortcut for
-
-
-
- my $document = XML::LibXML::Document->createDocument( "1.0", "UTF-8" );
-
-
-=item B<encoding>
-
- $strEncoding = $doc->encoding();
-
-returns the encoding string of the document.
-
-
-
- my $doc = XML::LibXML->createDocument( "1.0", "ISO-8859-15" );
- print $doc->encoding; # prints ISO-8859-15
-
-
-=item B<actualEncoding>
-
- $strEncoding = $doc->actualEncoding();
-
-returns the encoding in which the XML will be returned by $doc->toString().
-This is usually the original encoding of the document as declared in the XML
-declaration and returned by $doc->encoding. If the original encoding is not
-known (e.g. if created in memory or parsed from a XML without a declared
-encoding), 'UTF-8' is returned.
-
-
-
- my $doc = XML::LibXML->createDocument( "1.0", "ISO-8859-15" );
- print $doc->encoding; # prints ISO-8859-15
-
-
-=item B<setEncoding>
-
- $doc->setEncoding($new_encoding);
-
-This method allows to change the declaration of encoding in the XML declaration
-of the document. The value also affects the encoding in which the document is
-serialized to XML by $doc->toString(). Use setEncoding() to remove the encoding
-declaration.
-
-
-=item B<version>
-
- $strVersion = $doc->version();
-
-returns the version string of the document
-
-I<<<<<< getVersion() >>>>>> is an alternative form of this function.
-
-
-=item B<standalone>
-
- $doc->standalone
-
-This function returns the Numerical value of a documents XML declarations
-standalone attribute. It returns I<<<<<< 1 >>>>>> if standalone="yes" was found, I<<<<<< 0 >>>>>> if standalone="no" was found and I<<<<<< -1 >>>>>> if standalone was not specified (default on creation).
-
-
-=item B<setStandalone>
-
- $doc->setStandalone($numvalue);
-
-Through this method it is possible to alter the value of a documents standalone
-attribute. Set it to I<<<<<< 1 >>>>>> to set standalone="yes", to I<<<<<< 0 >>>>>> to set standalone="no" or set it to I<<<<<< -1 >>>>>> to remove the standalone attribute from the XML declaration.
-
-
-=item B<compression>
-
- my $compression = $doc->compression;
-
-libxml2 allows reading of documents directly from gzipped files. In this case
-the compression variable is set to the compression level of that file (0-8). If
-XML::LibXML parsed a different source or the file wasn't compressed, the
-returned value will be I<<<<<< -1 >>>>>>.
-
-
-=item B<setCompression>
-
- $doc->setCompression($ziplevel);
-
-If one intends to write the document directly to a file, it is possible to set
-the compression level for a given document. This level can be in the range from
-0 to 8. If XML::LibXML should not try to compress use I<<<<<< -1 >>>>>> (default).
-
-Note that this feature will I<<<<<< only >>>>>> work if libxml2 is compiled with zlib support and toFile() is used for output.
-
-
-=item B<toString>
-
- $docstring = $dom->toString($format);
-
-I<<<<<< toString >>>>>> is a DOM serializing function, so the DOM Tree is serialized into a XML string,
-ready for output.
-
-IMPORTANT: unlike toString for other nodes, on document nodes this function
-returns the XML as a byte string in the original encoding of the document (see
-the actualEncoding() method)! This means you can simply do:
-
-
-
- open OUT, $file;
- print OUT $doc->toString;
-
-regardless of the actual encoding of the document. See the section on encodings
-in L<<<<<< Perl Binding for libxml2|Perl Binding for libxml2 >>>>>> for more details.
-
-The optional I<<<<<< $format >>>>>> parameter sets the indenting of the output. This parameter is expected to be an C<<<<<< integer >>>>>> value, that specifies that indentation should be used. The format parameter can
-have three different values if it is used:
-
-If $format is 0, than the document is dumped as it was originally parsed
-
-If $format is 1, libxml2 will add ignorable white spaces, so the nodes content
-is easier to read. Existing text nodes will not be altered
-
-If $format is 2 (or higher), libxml2 will act as $format == 1 but it add a
-leading and a trailing line break to each text node.
-
-libxml2 uses a hard-coded indentation of 2 space characters per indentation
-level. This value can not be altered on run-time.
-
-
-=item B<toStringC14N>
-
- $c14nstr = $doc->toStringC14N($comment_flag,$xpath);
-
-See the documentation in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>.
-
-
-=item B<toStringEC14N>
-
- $ec14nstr = $doc->toStringEC14N($inclusive_prefix_list, $comment_flag,$xpath);
-
-See the documentation in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>.
-
-
-=item B<serialize>
-
- $str = $doc->serialize($format);
-
-An alias for toString(). This function was name added to be more consistent
-with libxml2.
-
-
-=item B<serialize_c14n>
-
- $c14nstr = $doc->serialize_c14n($comment_flag,$xpath);
-
-An alias for toStringC14N().
-
-
-=item B<serialize_exc_c14n>
-
- $ec14nstr = $doc->serialize_exc_c14n($comment_flag,$xpath,$inclusive_prefix_list);
-
-An alias for toStringEC14N().
-
-
-=item B<toFile>
-
- $state = $doc->toFile($filename, $format);
-
-This function is similar to toString(), but it writes the document directly
-into a filesystem. This function is very useful, if one needs to store large
-documents.
-
-The format parameter has the same behaviour as in toString().
-
-
-=item B<toFH>
-
- $state = $doc->toFH($fh, $format);
-
-This function is similar to toString(), but it writes the document directly to
-a filehandle or a stream. A byte stream in the document encoding is passed to
-the file handle. Do NOT apply any C<<<<<< :encoding(...) >>>>>> or C<<<<<< :utf8 >>>>>> PerlIO layer to the filehandle! See the section on encodings in L<<<<<< Perl Binding for libxml2|Perl Binding for libxml2 >>>>>> for more details.
-
-The format parameter has the same behaviour as in toString().
-
-
-=item B<toStringHTML>
-
- $str = $document->toStringHTML();
-
-I<<<<<< toStringHTML >>>>>> serialize the tree to a byte string in the document encoding as HTML. With this
-method indenting is automatic and managed by libxml2 internally.
-
-
-=item B<serialize_html>
-
- $str = $document->serialize_html();
-
-An alias for toStringHTML().
-
-
-=item B<is_valid>
-
- $bool = $dom->is_valid();
-
-Returns either TRUE or FALSE depending on whether the DOM Tree is a valid
-Document or not.
-
-You may also pass in a L<<<<<< XML::LibXML DTD Handling|XML::LibXML DTD Handling >>>>>> object, to validate against an external DTD:
-
-
-
- if (!$dom->is_valid($dtd)) {
- warn("document is not valid!");
- }
-
-
-=item B<validate>
-
- $dom->validate();
-
-This is an exception throwing equivalent of is_valid. If the document is not
-valid it will throw an exception containing the error. This allows you much
-better error reporting than simply is_valid or not.
-
-Again, you may pass in a DTD object
-
-
-=item B<documentElement>
-
- $root = $dom->documentElement();
-
-Returns the root element of the Document. A document can have just one root
-element to contain the documents data.
-
-Optionally one can use I<<<<<< getDocumentElement >>>>>>.
-
-
-=item B<setDocumentElement>
-
- $dom->setDocumentElement( $root );
-
-This function enables you to set the root element for a document. The function
-supports the import of a node from a different document tree.
-
-
-=item B<createElement>
-
- $element = $dom->createElement( $nodename );
-
-This function creates a new Element Node bound to the DOM with the name C<<<<<< $nodename >>>>>>.
-
-
-=item B<createElementNS>
-
- $element = $dom->createElementNS( $namespaceURI, $qname );
-
-This function creates a new Element Node bound to the DOM with the name C<<<<<< $nodename >>>>>> and placed in the given namespace.
-
-
-=item B<createTextNode>
-
- $text = $dom->createTextNode( $content_text );
-
-As an equivalent of I<<<<<< createElement >>>>>>, but it creates a I<<<<<< Text Node >>>>>> bound to the DOM.
-
-
-=item B<createComment>
-
- $comment = $dom->createComment( $comment_text );
-
-As an equivalent of I<<<<<< createElement >>>>>>, but it creates a I<<<<<< Comment Node >>>>>> bound to the DOM.
-
-
-=item B<createAttribute>
-
- $attrnode = $doc->createAttribute($name [,$value]);
-
-Creates a new Attribute node.
-
-
-=item B<createAttributeNS>
-
- $attrnode = $doc->createAttributeNS( namespaceURI, $name [,$value] );
-
-Creates an Attribute bound to a namespace.
-
-
-=item B<createDocumentFragment>
-
- $fragment = $doc->createDocumentFragment();
-
-This function creates a DocumentFragment.
-
-
-=item B<createCDATASection>
-
- $cdata = $dom->create( $cdata_content );
-
-Similar to createTextNode and createComment, this function creates a
-CDataSection bound to the current DOM.
-
-
-=item B<createProcessingInstruction>
-
- my $pi = $doc->createProcessingInstruction( $target, $data );
-
-create a processing instruction node.
-
-Since this method is quite long one may use its short form I<<<<<< createPI() >>>>>>.
-
-
-=item B<createEntityReference>
-
- my $entref = $doc->createEntityReference($refname);
-
-If a document has a DTD specified, one can create entity references by using
-this function. If one wants to add a entity reference to the document, this
-reference has to be created by this function.
-
-An entity reference is unique to a document and cannot be passed to other
-documents as other nodes can be passed.
-
-I<<<<<< NOTE: >>>>>> A text content containing something that looks like an entity reference, will
-not be expanded to a real entity reference unless it is a predefined entity
-
-
-
- my $string = "&foo;";
- $some_element->appendText( $string );
- print $some_element->textContent; # prints "&amp;foo;"
-
-
-=item B<createInternalSubset>
-
- $dtd = $document->createInternalSubset( $rootnode, $public, $system);
-
-This function creates and adds an internal subset to the given document.
-Because the function automatically adds the DTD to the document there is no
-need to add the created node explicitly to the document.
-
-
-
- my $document = XML::LibXML::Document->new();
- my $dtd = $document->createInternalSubset( "foo", undef, "foo.dtd" );
-
-will result in the following XML document:
-
-
-
- <?xml version="1.0"?>
- <!DOCTYPE foo SYSTEM "foo.dtd">
-
-By setting the public parameter it is possible to set PUBLIC DTDs to a given
-document. So
-
-
-
- my $document = XML::LibXML::Document->new();
- my $dtd = $document->createInternalSubset( "foo", "-//FOO//DTD FOO 0.1//EN", undef );
-
-will cause the following declaration to be created on the document:
-
-
-
- <?xml version="1.0"?>
- <!DOCTYPE foo PUBLIC "-//FOO//DTD FOO 0.1//EN">
-
-
-=item B<createExternalSubset>
-
- $dtd = $document->createExternalSubset( $rootnode_name, $publicId, $systemId);
-
-This function is similar to C<<<<<< createInternalSubset() >>>>>> but this DTD is considered to be external and is therefore not added to the
-document itself. Nevertheless it can be used for validation purposes.
-
-
-=item B<importNode>
-
- $document->importNode( $node );
-
-If a node is not part of a document, it can be imported to another document. As
-specified in DOM Level 2 Specification the Node will not be altered or removed
-from its original document (C<<<<<< $node->cloneNode(1) >>>>>> will get called implicitly).
-
-I<<<<<< NOTE: >>>>>> Don't try to use importNode() to import sub-trees that contain an entity
-reference - even if the entity reference is the root node of the sub-tree. This
-will cause serious problems to your program. This is a limitation of libxml2
-and not of XML::LibXML itself.
-
-
-=item B<adoptNode>
-
- $document->adoptNode( $node );
-
-If a node is not part of a document, it can be imported to another document. As
-specified in DOM Level 3 Specification the Node will not be altered but it will
-removed from its original document.
-
-After a document adopted a node, the node, its attributes and all its
-descendants belong to the new document. Because the node does not belong to the
-old document, it will be unlinked from its old location first.
-
-I<<<<<< NOTE: >>>>>> Don't try to adoptNode() to import sub-trees that contain entity references -
-even if the entity reference is the root node of the sub-tree. This will cause
-serious problems to your program. This is a limitation of libxml2 and not of
-XML::LibXML itself.
-
-
-=item B<externalSubset>
-
- my $dtd = $doc->externalSubset;
-
-If a document has an external subset defined it will be returned by this
-function.
-
-I<<<<<< NOTE >>>>>> Dtd nodes are no ordinary nodes in libxml2. The support for these nodes in
-XML::LibXML is still limited. In particular one may not want use common node
-function on doctype declaration nodes!
-
-
-=item B<internalSubset>
-
- my $dtd = $doc->internalSubset;
-
-If a document has an internal subset defined it will be returned by this
-function.
-
-I<<<<<< NOTE >>>>>> Dtd nodes are no ordinary nodes in libxml2. The support for these nodes in
-XML::LibXML is still limited. In particular one may not want use common node
-function on doctype declaration nodes!
-
-
-=item B<setExternalSubset>
-
- $doc->setExternalSubset($dtd);
-
-I<<<<<< EXPERIMENTAL! >>>>>>
-
-This method sets a DTD node as an external subset of the given document.
-
-
-=item B<setInternalSubset>
-
- $doc->setInternalSubset($dtd);
-
-I<<<<<< EXPERIMENTAL! >>>>>>
-
-This method sets a DTD node as an internal subset of the given document.
-
-
-=item B<removeExternalSubset>
-
- my $dtd = $doc->removeExternalSubset();
-
-I<<<<<< EXPERIMENTAL! >>>>>>
-
-If a document has an external subset defined it can be removed from the
-document by using this function. The removed dtd node will be returned.
-
-
-=item B<removeInternalSubset>
-
- my $dtd = $doc->removeInternalSubset();
-
-I<<<<<< EXPERIMENTAL! >>>>>>
-
-If a document has an internal subset defined it can be removed from the
-document by using this function. The removed dtd node will be returned.
-
-
-=item B<getElementsByTagName>
-
- my @nodelist = $doc->getElementsByTagName($tagname);
-
-Implements the DOM Level 2 function
-
-In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object.
-
-
-=item B<getElementsByTagNameNS>
-
- my @nodelist = $doc->getElementsByTagNameNS($nsURI,$tagname);
-
-Implements the DOM Level 2 function
-
-In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object.
-
-
-=item B<getElementsByLocalName>
-
- my @nodelist = $doc->getElementsByLocalName($localname);
-
-This allows the fetching of all nodes from a given document with the given
-Localname.
-
-In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object.
-
-
-=item B<getElementById>
-
- my $node = $doc->getElementById($id);
-
-Returns the element that has an ID attribute with the given value. If no such
-element exists, this returns undef.
-
-Note: the ID of an element may change while manipulating the document. For
-documents with a DTD, the information about ID attributes is only available if
-DTD loading/validation has been requested. For HTML documents parsed with the
-HTML parser ID detection is done automatically. In XML documents, all "xml:id"
-attributes are considered to be of type ID. You can test ID-ness of an
-attribute node with $attr->isId().
-
-In versions 1.59 and earlier this method was called getElementsById() (plural)
-by mistake. Starting from 1.60 this name is maintained as an alias only for
-backward compatibility.
-
-
-=item B<indexElements>
-
- $dom->indexElements();
-
-This function causes libxml2 to stamp all elements in a document with their
-document position index which considerably speeds up XPath queries for large
-documents. It should only be used with static documents that won't be further
-changed by any DOM methods, because once a document is indexed, XPath will
-always prefer the index to other methods of determining the document order of
-nodes. XPath could therefore return improperly ordered node-lists when applied
-on a document that has been changed after being indexed. It is of course
-possible to use this method to re-index a modified document before using it
-with XPath again. This function is not a part of the DOM specification.
-
-This function returns number of elements indexed, -1 if error occurred, or -2
-if this feature is not available in the running libxml2.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod
deleted file mode 100644
index f7498005857..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod
+++ /dev/null
@@ -1,36 +0,0 @@
-=head1 NAME
-
-XML::LibXML::DocumentFragment - XML::LibXML's DOM L2 Document Fragment Implementation
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
-
-
-=head1 DESCRIPTION
-
-This class is a helper class as described in the DOM Level 2 Specification. It
-is implemented as a node without name. All adding, inserting or replacing
-functions are aware of document fragments now.
-
-As well I<<<<<< all >>>>>> unbound nodes (all nodes that do not belong to any document sub-tree) are
-implicit members of document fragments.
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod
deleted file mode 100644
index dc908030765..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod
+++ /dev/null
@@ -1,98 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Dtd - XML::LibXML DTD Handling
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
-
- $dtd = XML::LibXML::Dtd->new($public_id, $system_id);
- $dtd = XML::LibXML::Dtd->parse_string($dtd_str);
- $publicId = $dtd->getName();
- $publicId = $dtd->publicId();
- $systemId = $dtd->systemId();
-
-=head1 DESCRIPTION
-
-This class holds a DTD. You may parse a DTD from either a string, or from an
-external SYSTEM identifier.
-
-No support is available as yet for parsing from a filehandle.
-
-XML::LibXML::Dtd is a sub-class of L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>, so all the methods available to nodes (particularly toString()) are available
-to Dtd objects.
-
-
-=head1 METHODS
-
-=over 4
-
-=item B<new>
-
- $dtd = XML::LibXML::Dtd->new($public_id, $system_id);
-
-Parse a DTD from the system identifier, and return a DTD object that you can
-pass to $doc->is_valid() or $doc->validate().
-
-
-
- my $dtd = XML::LibXML::Dtd->new(
- "SOME // Public / ID / 1.0",
- "test.dtd"
- );
- my $doc = XML::LibXML->new->parse_file("test.xml");
- $doc->validate($dtd);
-
-
-=item B<parse_string>
-
- $dtd = XML::LibXML::Dtd->parse_string($dtd_str);
-
-The same as new() above, except you can parse a DTD from a string. Note that
-parsing from string may fail if the DTD contains external parametric-entity
-references with relative URLs.
-
-
-=item B<getName>
-
- $publicId = $dtd->getName();
-
-Returns the name of DTD; i.e., the name immediately following the DOCTYPE
-keyword.
-
-
-=item B<publicId>
-
- $publicId = $dtd->publicId();
-
-Returns the public identifier of the external subset.
-
-
-=item B<systemId>
-
- $systemId = $dtd->systemId();
-
-Returns the system identifier of the external subset.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod
deleted file mode 100644
index 40e06e97648..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod
+++ /dev/null
@@ -1,380 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Element - XML::LibXML Class for Element Nodes
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- # Only methods specific to Element nodes are listed here,
- # see XML::LibXML::Node manpage for other methods
-
- $node = XML::LibXML::Element->new( $name );
- $node->setAttribute( $aname, $avalue );
- $node->setAttributeNS( $nsURI, $aname, $avalue );
- $avalue = $node->getAttribute( $aname );
- $avalue = $node->setAttributeNS( $nsURI, $aname );
- $attrnode = $node->getAttributeNode( $aname );
- $attrnode = $node->getAttributeNodeNS( $namespaceURI, $aname );
- $node->removeAttribute( $aname );
- $node->removeAttributeNS( $nsURI, $aname );
- $boolean = $node->hasAttribute( $aname );
- $boolean = $node->hasAttributeNS( $nsURI, $aname );
- @nodes = $node->getChildrenByTagName($tagname);
- @nodes = $node->getChildrenByTagNameNS($nsURI,$tagname);
- @nodes = $node->getChildrenByLocalName($localname);
- @nodes = $node->getElementsByTagName($tagname);
- @nodes = $node->getElementsByTagNameNS($nsURI,$localname);
- @nodes = $node->getElementsByLocalName($localname);
- $node->appendWellBalancedChunk( $chunk );
- $node->appendText( $PCDATA );
- $node->appendTextNode( $PCDATA );
- $node->appendTextChild( $childname , $PCDATA );
- $node->setNamespace( $nsURI , $nsPrefix, $activate );
- $node->setNamespaceDeclURI( $nsPrefix, $newURI );
- $node->setNamespaceDeclPrefix( $oldPrefix, $newPrefix );
-
-=head1 METHODS
-
-The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here.
-
-Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation.
-
-=over 4
-
-=item B<new>
-
- $node = XML::LibXML::Element->new( $name );
-
-This function creates a new node unbound to any DOM.
-
-
-=item B<setAttribute>
-
- $node->setAttribute( $aname, $avalue );
-
-This method sets or replaces the node's attribute C<<<<<< $aname >>>>>> to the value C<<<<<< $avalue >>>>>>
-
-
-=item B<setAttributeNS>
-
- $node->setAttributeNS( $nsURI, $aname, $avalue );
-
-Namespace-aware version of C<<<<<< setAttribute >>>>>>, where C<<<<<< $nsURI >>>>>> is a namespace URI, C<<<<<< $aname >>>>>> is a qualified name, and C<<<<<< $avalue >>>>>> is the value. The namespace URI may be null (empty or undefined) in order to
-create an attribute which has no namespace.
-
-The current implementation differs from DOM in the following aspects
-
-If an attribute with the same local name and namespace URI already exists on
-the element, but its prefix differs from the prefix of C<<<<<< $aname >>>>>>, then this function is supposed to change the prefix (regardless of namespace
-declarations and possible collisions). However, the current implementation does
-rather the opposite. If a prefix is declared for the namespace URI in the scope
-of the attribute, then the already declared prefix is used, disregarding the
-prefix specified in C<<<<<< $aname >>>>>>. If no prefix is declared for the namespace, the function tries to declare the
-prefix specified in C<<<<<< $aname >>>>>> and dies if the prefix is already taken by some other namespace.
-
-According to DOM Level 2 specification, this method can also be used to create
-or modify special attributes used for declaring XML namespaces (which belong to
-the namespace "http://www.w3.org/2000/xmlns/" and have prefix or name "xmlns").
-This should work since version 1.61, but again the implementation differs from
-DOM specification in the following: if a declaration of the same namespace
-prefix already exists on the element, then changing its value via this method
-automatically changes the namespace of all elements and attributes in its
-scope. This is because in libxml2 the namespace URI of an element is not static
-but is computed from a pointer to a namespace declaration attribute.
-
-
-=item B<getAttribute>
-
- $avalue = $node->getAttribute( $aname );
-
-If C<<<<<< $node >>>>>> has an attribute with the name C<<<<<< $aname >>>>>>, the value of this attribute will get returned.
-
-
-=item B<getAttributeNS>
-
- $avalue = $node->setAttributeNS( $nsURI, $aname );
-
-Retrieves an attribute value by local name and namespace URI.
-
-
-=item B<getAttributeNode>
-
- $attrnode = $node->getAttributeNode( $aname );
-
-Retrieve an attribute node by name. If no attribute with a given name exists, C<<<<<< undef >>>>>> is returned.
-
-
-=item B<getAttributeNodeNS>
-
- $attrnode = $node->getAttributeNodeNS( $namespaceURI, $aname );
-
-Retrieves an attribute node by local name and namespace URI. If no attribute
-with a given localname and namespace exists, C<<<<<< undef >>>>>> is returned.
-
-
-=item B<removeAttribute>
-
- $node->removeAttribute( $aname );
-
-The method removes the attribute C<<<<<< $aname >>>>>> from the node's attribute list, if the attribute can be found.
-
-
-=item B<removeAttributeNS>
-
- $node->removeAttributeNS( $nsURI, $aname );
-
-Namespace version of C<<<<<< removeAttribute >>>>>>
-
-
-=item B<hasAttribute>
-
- $boolean = $node->hasAttribute( $aname );
-
-This function tests if the named attribute is set for the node. If the
-attribute is specified, TRUE (1) will be returned, otherwise the return value
-is FALSE (0).
-
-
-=item B<hasAttributeNS>
-
- $boolean = $node->hasAttributeNS( $nsURI, $aname );
-
-namespace version of C<<<<<< hasAttribute >>>>>>
-
-
-=item B<getChildrenByTagName>
-
- @nodes = $node->getChildrenByTagName($tagname);
-
-The function gives direct access to all child elements of the current node with
-a given tagname, where tagname is a qualified name, that is, in case of
-namespace usage it may consist of a prefix and local name. This function makes
-things a lot easier if one needs to handle big data sets. A special tagname '*'
-can be used to match any name.
-
-If this function is called in SCALAR context, it returns the number of elements
-found.
-
-
-=item B<getChildrenByTagNameNS>
-
- @nodes = $node->getChildrenByTagNameNS($nsURI,$tagname);
-
-Namespace version of C<<<<<< getChildrenByTagName >>>>>>. A special nsURI '*' matches any namespace URI, in which case the function
-behaves just like C<<<<<< getChildrenByLocalName >>>>>>.
-
-If this function is called in SCALAR context, it returns the number of elements
-found.
-
-
-=item B<getChildrenByLocalName>
-
- @nodes = $node->getChildrenByLocalName($localname);
-
-The function gives direct access to all child elements of the current node with
-a given local name. It makes things a lot easier if one needs to handle big
-data sets. A special C<<<<<< localname >>>>>> '*' can be used to match any local name.
-
-If this function is called in SCALAR context, it returns the number of elements
-found.
-
-
-=item B<getElementsByTagName>
-
- @nodes = $node->getElementsByTagName($tagname);
-
-This function is part of the spec. It fetches all descendants of a node with a
-given tagname, where C<<<<<< tagname >>>>>> is a qualified name, that is, in case of namespace usage it may consist of a
-prefix and local name. A special C<<<<<< tagname >>>>>> '*' can be used to match any tag name.
-
-In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object.
-
-
-=item B<getElementsByTagNameNS>
-
- @nodes = $node->getElementsByTagNameNS($nsURI,$localname);
-
-Namespace version of C<<<<<< getElementsByTagName >>>>>> as found in the DOM spec. A special C<<<<<< localname >>>>>> '*' can be used to match any local name and C<<<<<< nsURI >>>>>> '*' can be used to match any namespace URI.
-
-In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object.
-
-
-=item B<getElementsByLocalName>
-
- @nodes = $node->getElementsByLocalName($localname);
-
-This function is not found in the DOM specification. It is a mix of
-getElementsByTagName and getElementsByTagNameNS. It will fetch all tags
-matching the given local-name. This allows one to select tags with the same
-local name across namespace borders.
-
-In SCALAR context this function returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object.
-
-
-=item B<appendWellBalancedChunk>
-
- $node->appendWellBalancedChunk( $chunk );
-
-Sometimes it is necessary to append a string coded XML Tree to a node. I<<<<<< appendWellBalancedChunk >>>>>> will do the trick for you. But this is only done if the String is C<<<<<< well-balanced >>>>>>.
-
-I<<<<<< Note that appendWellBalancedChunk() is only left for compatibility reasons >>>>>>. Implicitly it uses
-
-
-
- my $fragment = $parser->parse_xml_chunk( $chunk );
- $node->appendChild( $fragment );
-
-This form is more explicit and makes it easier to control the flow of a script.
-
-
-=item B<appendText>
-
- $node->appendText( $PCDATA );
-
-alias for appendTextNode().
-
-
-=item B<appendTextNode>
-
- $node->appendTextNode( $PCDATA );
-
-This wrapper function lets you add a string directly to an element node.
-
-
-=item B<appendTextChild>
-
- $node->appendTextChild( $childname , $PCDATA );
-
-Somewhat similar with C<<<<<< appendTextNode >>>>>>: It lets you set an Element, that contains only a C<<<<<< text node >>>>>> directly by specifying the name and the text content.
-
-
-=item B<setNamespace>
-
- $node->setNamespace( $nsURI , $nsPrefix, $activate );
-
-setNamespace() allows one to apply a namespace to an element. The function
-takes three parameters: 1. the namespace URI, which is required and the two
-optional values prefix, which is the namespace prefix, as it should be used in
-child elements or attributes as well as the additional activate parameter. If
-prefix is not given, undefined or empty, this function tries to create a
-declaration of the default namespace.
-
-The activate parameter is most useful: If this parameter is set to FALSE (0), a
-new namespace declaration is simply added to the element while the element's
-namespace itself is not altered. Nevertheless, activate is set to TRUE (1) on
-default. In this case the namespace is used as the node's effective namespace.
-This means the namespace prefix is added to the node name and if there was a
-namespace already active for the node, it will be replaced (but its declaration
-is not removed from the document). A new namespace declaration is only created
-if necessary (that is, if the element is already in the scope of a namespace
-declaration associating the prefix with the namespace URI, then this
-declaration is reused).
-
-The following example may clarify this:
-
-
-
- my $e1 = $doc->createElement("bar");
- $e1->setNamespace("http://foobar.org", "foo")
-
-results
-
-
-
- <foo:bar xmlns:foo="http://foobar.org"/>
-
-while
-
-
-
- my $e2 = $doc->createElement("bar");
- $e2->setNamespace("http://foobar.org", "foo",0)
-
-results only
-
-
-
- <bar xmlns:foo="http://foobar.org"/>
-
-By using $activate == 0 it is possible to create multiple namespace
-declarations on a single element.
-
-The function fails if it is required to create a declaration associating the
-prefix with the namespace URI but the element already carries a declaration
-with the same prefix but different namespace URI.
-
-
-=item B<setNamespaceDeclURI>
-
- $node->setNamespaceDeclURI( $nsPrefix, $newURI );
-
-EXPERIMENTAL IN 1.61 !
-
-This function manipulates directly with an existing namespace declaration on an
-element. It takes two parameters: the prefix by which it looks up the namespace
-declaration and a new namespace URI which replaces its previous value.
-
-It returns 1 if the namespace declaration was found and changed, 0 otherwise.
-
-All elements and attributes (even those previously unbound from the document)
-for which the namespace declaration determines their namespace belong to the
-new namespace after the change.
-
-If the new URI is undef or empty, the nodes have no namespace and no prefix
-after the change. Namespace declarations once nulled in this way do not further
-appear in the serialized output (but do remain in the document for internal
-integrity of libxml2 data structures).
-
-This function is NOT part of any DOM API.
-
-
-=item B<setNamespaceDeclPrefix>
-
- $node->setNamespaceDeclPrefix( $oldPrefix, $newPrefix );
-
-EXPERIMENTAL IN 1.61 !
-
-This function manipulates directly with an existing namespace declaration on an
-element. It takes two parameters: the old prefix by which it looks up the
-namespace declaration and a new prefix which is to replace the old one.
-
-The function dies with an error if the element is in the scope of another
-declaration whose prefix equals to the new prefix, or if the change should
-result in a declaration with a non-empty prefix but empty namespace URI.
-Otherwise, it returns 1 if the namespace declaration was found and changed and
-0 if not found.
-
-All elements and attributes (even those previously unbound from the document)
-for which the namespace declaration determines their namespace change their
-prefix to the new value.
-
-If the new prefix is undef or empty, the namespace declaration becomes a
-declaration of a default namespace. The corresponding nodes drop their
-namespace prefix (but remain in the, now default, namespace). In this case the
-function fails, if the containing element is in the scope of another default
-namespace declaration.
-
-This function is NOT part of any DOM API.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod
deleted file mode 100644
index 113b8f53d28..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod
+++ /dev/null
@@ -1,288 +0,0 @@
-=head1 NAME
-
-XML::LibXML::InputCallback - XML::LibXML Class for Input Callbacks
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
-
-
-=head1 DESCRIPTION
-
-You may get unexpected results if you are trying to load external documents
-during libxml2 parsing if the location of the resource is not a HTTP, FTP or
-relative location but a absolute path for example. To get around this
-limitation, you may add your own input handler to open, read and close
-particular types of locations or URI classes. Using this input callback
-handlers, you can handle your own custom URI schemes for example.
-
-The input callbacks are used whenever LibXML has to get something other than
-externally parsed entities from somewhere. They are implemented using a
-callback stack on the Perl layer in analogy to libxml2's native callback stack.
-
-The XML::LibXML::InputCallback class transparently registers the input
-callbacks for the libxml2's parser processes.
-
-
-=head2 How does XML::LibXML::InputCallback work?
-
-The libxml2 library offers a callback implementation as global functions only.
-To work-around the troubles resulting in having only global callbacks - for
-example, if the same global callback stack is manipulated by different
-applications running together in a single Apache Web-server environment -,
-XML::LibXML::InputCallback comes with a object-oriented and a function-oriented
-part.
-
-Using the function-oriented part the global callback stack of libxml2 can be
-manipulated. Those functions can be used as interface to the callbacks on the
-C- and XS Layer. At the object-oriented part, operations for working with the
-"pseudo-localized" callback stack are implemented. Currently, you can register
-and de-register callbacks on the Perl layer and initialize them on a per parser
-basis.
-
-
-=head3 Callback Groups
-
-The libxml2 input callbacks come in groups. One group contains a URI matcher (I<<<<<< match >>>>>>), a data stream constructor (I<<<<<< open >>>>>>), a data stream reader (I<<<<<< read >>>>>>), and a data stream destructor (I<<<<<< close >>>>>>). The callbacks can be manipulated on a per group basis only.
-
-
-=head3 The Parser Process
-
-The parser process work on a XML data stream, along which, links to other
-resources can be embedded. This can be links to external DTDs or XIncludes for
-example. Those resources are identified by URIs. The callback implementation of
-libxml2 assumes that one callback group can handle a certain amount of URIs and
-a certain URI scheme. Per default, callback handlers for I<<<<<< file://* >>>>>>, I<<<<<< file:://*.gz >>>>>>, I<<<<<< http://* >>>>>> and I<<<<<< ftp://* >>>>>> are registered.
-
-Callback groups in the callback stack are processed from top to bottom, meaning
-that callback groups registered later will be processed before the earlier
-registered ones.
-
-While parsing the data stream, the libxml2 parser checks if a registered
-callback group will handle a URI - if they will not, the URI will be
-interpreted as I<<<<<< file://URI >>>>>>. To handle a URI, the I<<<<<< match >>>>>> callback will have to return '1'. If that happens, the handling of the URI will
-be passed to that callback group. Next, the URI will be passed to the I<<<<<< open >>>>>> callback, which should return a I<<<<<< reference >>>>>> to the data stream if it successfully opened the file, '0' otherwise. If
-opening the stream was successful, the I<<<<<< read >>>>>> callback will be called repeatedly until it returns an empty string. After the
-read callback, the I<<<<<< close >>>>>> callback will be called to close the stream.
-
-
-=head3 Organisation of callback groups in XML::LibXML::InputCallback
-
-Callback groups are implemented as a stack (Array), each entry holds a
-reference to an array of the callbacks. For the libxml2 library, the
-XML::LibXML::InputCallback callback implementation appears as one single
-callback group. The Perl implementation however allows to manage different
-callback stacks on a per libxml2-parser basis.
-
-
-=head2 Using XML::LibXML::InputCallback
-
-After object instantiation using the parameter-less constructor, you can
-register callback groups.
-
-
-
- my $input_callbacks = XML::LibXML::InputCallback->new();
- $input_callbacks->register_callbacks([ $match_cb1, $open_cb1,
- $read_cb1, $close_cb1 ] );
- $input_callbacks->register_callbacks([ $match_cb2, $open_cb2,
- $read_cb2, $close_cb2 ] );
- $input_callbacks->register_callbacks( [ $match_cb3, $open_cb3,
- $read_cb3, $close_cb3 ] );
-
- $parser->input_callbacks( $input_callbacks );
- $parser->parse_file( $some_xml_file );
-
-
-=head2 What about the old callback system prior to XML::LibXML::InputCallback?
-
-In XML::LibXML versions prior to 1.59 - i.e. without the
-XML::LibXML::InputCallback module - you could define your callbacks either
-using globally or locally. You still can do that using
-XML::LibXML::InputCallback, and in addition to that you can define the
-callbacks on a per parser basis!
-
-If you use the old callback interface through global callbacks,
-XML::LibXML::InputCallback will treat them with a lower priority as the ones
-registered using the new interface. The global callbacks will not override the
-callback groups registered using the new interface. Local callbacks are
-attached to a specific parser instance, therefore they are treated with highest
-priority. If the I<<<<<< match >>>>>> callback of the callback group registered as local variable is identical to one
-of the callback groups registered using the new interface, that callback group
-will be replaced.
-
-Users of the old callback implementation whose I<<<<<< open >>>>>> callback returned a plain string, will have to adapt their code to return a
-reference to that string after upgrading to version >= 1.59. The new callback
-system can only deal with the I<<<<<< open >>>>>> callback returning a reference!
-
-
-=head1 INTERFACE DESCRIPTION
-
-
-=head2 Global Variables
-
-=over 4
-
-=item B<$_CUR_CB>
-
-Stores the current callback and can be used as shortcut to access the callback
-stack.
-
-
-=item B<@_GLOBAL_CALLBACKS>
-
-Stores all callback groups for the current parser process.
-
-
-=item B<@_CB_STACK>
-
-Stores the currently used callback group. Used to prevent parser errors when
-dealing with nested XML data.
-
-
-
-=back
-
-
-=head2 Global Callbacks
-
-=over 4
-
-=item B<_callback_match>
-
-Implements the interface for the I<<<<<< match >>>>>> callback at C-level and for the selection of the callback group from the
-callbacks defined at the Perl-level.
-
-
-=item B<_callback_open>
-
-Forwards the I<<<<<< open >>>>>> callback from libxml2 to the corresponding callback function at the Perl-level.
-
-
-=item B<_callback_read>
-
-Forwards the read request to the corresponding callback function at the
-Perl-level and returns the result to libxml2.
-
-
-=item B<_callback_close>
-
-Forwards the I<<<<<< close >>>>>> callback from libxml2 to the corresponding callback function at the
-Perl-level..
-
-
-
-=back
-
-
-=head2 Class methods
-
-=over 4
-
-=item B<new()>
-
-A simple constructor.
-
-
-=item B<register_callbacks( [ $match_cb, $open_cb, $read_cb, $close_cb ])>
-
-The four callbacks I<<<<<< have >>>>>> to be given as array reference in the above order I<<<<<< match >>>>>>, I<<<<<< open >>>>>>, I<<<<<< read >>>>>>, I<<<<<< close >>>>>>!
-
-
-=item B<unregister_callbacks( [ $match_cb, $open_cb, $read_cb, $close_cb ])>
-
-With no arguments given, C<<<<<< unregister_callbacks() >>>>>> will delete the last registered callback group from the stack. If four
-callbacks are passed as array reference, the callback group to unregister will
-be identified by the I<<<<<< match >>>>>> callback and deleted from the callback stack. Note that if several identical I<<<<<< match >>>>>> callbacks are defined in different callback groups, ALL of them will be deleted
-from the stack.
-
-
-=item B<init_callbacks()>
-
-Initializes the callback system before a parsing process.
-
-
-=item B<cleanup_callbacks()>
-
-Resets global variables and the libxml2 callback stack.
-
-
-=item B<lib_init_callbacks()>
-
-Used internally for callback registration at C-level.
-
-
-=item B<lib_cleanup_callbacks()>
-
-Used internally for callback resetting at the C-level.
-
-
-
-=back
-
-
-
-
-=head1 EXAMPLE CALLBACKS
-
-The following example is a purely fictitious example that uses a
-MyScheme::Handler object that responds to methods similar to an IO::Handle.
-
-
-
- # Define the four callback functions
- sub match_uri {
- my $uri = shift;
- return $uri =~ /^myscheme:/; # trigger our callback group at a 'myscheme' URIs
- }
-
- sub open_uri {
- my $uri = shift;
- my $handler = MyScheme::Handler->new($uri);
- return $handler;
- }
-
- # The returned $buffer will be parsed by the libxml2 parser
- sub read_uri {
- my $handler = shift;
- my $length = shift;
- my $buffer;
- read($handler, $buffer, $length);
- return $buffer; # $buffer will be an empty string '' if read() is done
- }
-
- # Close the handle associated with the resource.
- sub close_uri {
- my $handler = shift;
- close($handler);
- }
-
- # Register them with a instance of XML::LibXML::InputCallback
- my $input_callbacks = XML::LibXML::InputCallback->new();
- $input_callbacks->register_callbacks([ \&match_uri, \&open_uri,
- \&read_uri, \&close_uri ] );
-
- # Register the callback group at a parser instance
- $parser->input_callbacks( $input_callbacks );
-
- # $some_xml_file will be parsed using our callbacks
- $parser->parse_file( $some_xml_file );
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm
deleted file mode 100644
index 21af2b7d86c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm
+++ /dev/null
@@ -1,102 +0,0 @@
-# $Id: Literal.pm 709 2008-01-29 21:01:32Z pajas $
-
-package XML::LibXML::Literal;
-use XML::LibXML::Boolean;
-use XML::LibXML::Number;
-use strict;
-
-use vars qw ($VERSION);
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-
-use overload
- '""' => \&value,
- 'cmp' => \&cmp;
-
-sub new {
- my $class = shift;
- my ($string) = @_;
-
-# $string =~ s/&quot;/"/g;
-# $string =~ s/&apos;/'/g;
-
- bless \$string, $class;
-}
-
-sub as_string {
- my $self = shift;
- my $string = $$self;
- $string =~ s/'/&apos;/g;
- return "'$string'";
-}
-
-sub as_xml {
- my $self = shift;
- my $string = $$self;
- return "<Literal>$string</Literal>\n";
-}
-
-sub value {
- my $self = shift;
- $$self;
-}
-
-sub cmp {
- my $self = shift;
- my ($cmp, $swap) = @_;
- if ($swap) {
- return $cmp cmp $$self;
- }
- return $$self cmp $cmp;
-}
-
-sub evaluate {
- my $self = shift;
- $self;
-}
-
-sub to_boolean {
- my $self = shift;
- return (length($$self) > 0) ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False;
-}
-
-sub to_number { return XML::LibXML::Number->new($_[0]->value); }
-sub to_literal { return $_[0]; }
-
-sub string_value { return $_[0]->value; }
-
-1;
-__END__
-
-=head1 NAME
-
-XML::LibXML::Literal - Simple string values.
-
-=head1 DESCRIPTION
-
-In XPath terms a Literal is what we know as a string.
-
-=head1 API
-
-=head2 new($string)
-
-Create a new Literal object with the value in $string. Note that &quot; and
-&apos; will be converted to " and ' respectively. That is not part of the XPath
-specification, but I consider it useful. Note though that you have to go
-to extraordinary lengths in an XML template file (be it XSLT or whatever) to
-make use of this:
-
- <xsl:value-of select="&quot;I'm feeling &amp;quot;sad&amp;quot;&quot;"/>
-
-Which produces a Literal of:
-
- I'm feeling "sad"
-
-=head2 value()
-
-Also overloaded as stringification, simply returns the literal string value.
-
-=head2 cmp($literal)
-
-Returns the equivalent of perl's cmp operator against the given $literal.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod
deleted file mode 100644
index 3fe6b5f07a6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod
+++ /dev/null
@@ -1,139 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Namespace - XML::LibXML Namespace Implementation
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- # Only methods specific to Namespace nodes are listed here,
- # see XML::LibXML::Node manpage for other methods
-
- my $ns = XML::LibXML::Namespace->new($nsURI);
- print $ns->nodeName();
- print $ns->name();
- $localname = $ns->getLocalName();
- print $ns->getData();
- print $ns->getValue();
- print $ns->value();
- $known_uri = $ns->getNamespaceURI();
- $known_prefix = $ns->getPrefix();
-
-=head1 DESCRIPTION
-
-Namespace nodes are returned by both $element->findnodes('namespace::foo') or
-by $node->getNamespaces().
-
-The namespace node API is not part of any current DOM API, and so it is quite
-minimal. It should be noted that namespace nodes are I<<<<<< not >>>>>> a sub class of L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>, however Namespace nodes act a lot like attribute nodes, and similarly named
-methods will return what you would expect if you treated the namespace node as
-an attribute. Note that in order to fix several inconsistencies between the API
-and the documentation, the behavior of some functions have been changed in
-1.64.
-
-
-=head1 METHODS
-
-=over 4
-
-=item B<new>
-
- my $ns = XML::LibXML::Namespace->new($nsURI);
-
-Creates a new Namespace node. Note that this is not a 'node' as an attribute or
-an element node. Therefore you can't do call all L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> Functions. All functions available for this node are listed below.
-
-Optionally you can pass the prefix to the namespace constructor. If this second
-parameter is omitted you will create a so called default namespace. Note, the
-newly created namespace is not bound to any document or node, therefore you
-should not expect it to be available in an existing document.
-
-
-=item B<declaredURI>
-
-Returns the URI for this namespace.
-
-
-=item B<declaredPrefix>
-
-Returns the prefix for this namespace.
-
-
-=item B<nodeName>
-
- print $ns->nodeName();
-
-Returns "xmlns:prefix", where prefix is the prefix for this namespace.
-
-
-=item B<name>
-
- print $ns->name();
-
-Alias for nodeName()
-
-
-=item B<getLocalName>
-
- $localname = $ns->getLocalName();
-
-Returns the local name of this node as if it were an attribute, that is, the
-prefix associated with the namespace.
-
-
-=item B<getData>
-
- print $ns->getData();
-
-Returns the URI of the namespace, i.e. the value of this node as if it were an
-attribute.
-
-
-=item B<getValue>
-
- print $ns->getValue();
-
-Alias for getData()
-
-
-=item B<value>
-
- print $ns->value();
-
-Alias for getData()
-
-
-=item B<getNamespaceURI>
-
- $known_uri = $ns->getNamespaceURI();
-
-Returns the string "http://www.w3.org/2000/xmlns/"
-
-
-=item B<getPrefix>
-
- $known_prefix = $ns->getPrefix();
-
-Returns the string "xmlns"
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod
deleted file mode 100644
index 6da553ec6b3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod
+++ /dev/null
@@ -1,661 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Node - Abstract Base Class of XML::LibXML Nodes
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
-
- $name = $node->nodeName;
- $node->setNodeName( $newName );
- $bool = $node->isSameNode( $other_node );
- $bool = $node->isEqual( $other_node );
- $content = $node->nodeValue;
- $content = $node->textContent;
- $type = $node->nodeType;
- $node->unbindNode();
- $childnode = $node->removeChild( $childnode );
- $oldnode = $node->replaceChild( $newNode, $oldNode );
- $node->replaceNode($newNode);
- $childnode = $node->appendChild( $childnode );
- $childnode = $node->addChild( $chilnode );
- $node = $parent->addNewChild( $nsURI, $name );
- $node->addSibling($newNode);
- $newnode =$node->cloneNode( $deep );
- $parentnode = $node->parentNode;
- $nextnode = $node->nextSibling();
- $prevnode = $node->previousSibling();
- $boolean = $node->hasChildNodes();
- $childnode = $node->firstChild;
- $childnode = $node->lastChild;
- $documentnode = $node->ownerDocument;
- $node = $node->getOwner;
- $node->setOwnerDocument( $doc );
- $node->insertBefore( $newNode, $refNode );
- $node->insertAfter( $newNode, $refNode );
- @nodes = $node->findnodes( $xpath_expression );
- $result = $node->find( $xpath );
- print $node->findvalue( $xpath );
- @childnodes = $node->childNodes;
- $xmlstring = $node->toString($format,$docencoding);
- $c14nstring = $node->toStringC14N($with_comments, $xpath_expression);
- $ec14nstring = $node->toStringEC14N($with_comments, $xpath_expression, $inclusive_prefix_list);
- $str = $doc->serialize($format);
- $c14nstr = $doc->serialize_c14n($comment_flag,$xpath);
- $ec14nstr = $doc->serialize_ec14n($comment_flag,$xpath,$inclusive_prefix_list);
- $localname = $node->localname;
- $nameprefix = $node->prefix;
- $uri = $node->namespaceURI();
- $boolean = $node->hasAttributes();
- @attributelist = $node->attributes();
- $URI = $node->lookupNamespaceURI( $prefix );
- $prefix = $node->lookupNamespacePrefix( $URI );
- $node->normalize;
- @nslist = $node->getNamespaces;
- $node->removeChildNodes();
- $node->nodePath();
- $lineno = $node->line_number();
-
-=head1 DESCRIPTION
-
-XML::LibXML::Node defines functions that are common to all Node Types. A
-LibXML::Node should never be created standalone, but as an instance of a high
-level class such as LibXML::Element or LibXML::Text. The class itself should
-provide only common functionality. In XML::LibXML each node is part either of a
-document or a document-fragment. Because of this there is no node without a
-parent. This may causes confusion with "unbound" nodes.
-
-
-=head1 METHODS
-
-Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation.
-
-=over 4
-
-=item B<nodeName>
-
- $name = $node->nodeName;
-
-Returns the node's name. This function is aware of namespaces and returns the
-full name of the current node (C<<<<<< prefix:localname >>>>>>).
-
-Since 1.62 this function also returns the correct DOM names for node types with
-constant names, namely: #text, #cdata-section, #comment, #document,
-#document-fragment.
-
-
-=item B<setNodeName>
-
- $node->setNodeName( $newName );
-
-In very limited situations, it is useful to change a nodes name. In the DOM
-specification this should throw an error. This Function is aware of namespaces.
-
-
-=item B<isSameNode>
-
- $bool = $node->isSameNode( $other_node );
-
-returns TRUE (1) if the given nodes refer to the same node structure, otherwise
-FALSE (0) is returned.
-
-
-=item B<isEqual>
-
- $bool = $node->isEqual( $other_node );
-
-deprecated version of isSameNode().
-
-I<<<<<< NOTE >>>>>> isEqual will change behaviour to follow the DOM specification
-
-
-=item B<nodeValue>
-
- $content = $node->nodeValue;
-
-If the node has any content (such as stored in a C<<<<<< text node >>>>>>) it can get requested through this function.
-
-I<<<<<< NOTE: >>>>>> Element Nodes have no content per definition. To get the text value of an
-Element use textContent() instead!
-
-
-=item B<textContent>
-
- $content = $node->textContent;
-
-this function returns the content of all text nodes in the descendants of the
-given node as specified in DOM.
-
-
-=item B<nodeType>
-
- $type = $node->nodeType;
-
-Return a numeric value representing the node type of this node. The module
-XML::LibXML by default exports constants for the node types (see the EXPORT
-section in the L<<<<<< Perl Binding for libxml2|Perl Binding for libxml2 >>>>>> manual page).
-
-
-=item B<unbindNode>
-
- $node->unbindNode();
-
-Unbinds the Node from its siblings and Parent, but not from the Document it
-belongs to. If the node is not inserted into the DOM afterwards it will be lost
-after the program terminated. From a low level view, the unbound node is
-stripped from the context it is and inserted into a (hidden) document-fragment.
-
-
-=item B<removeChild>
-
- $childnode = $node->removeChild( $childnode );
-
-This will unbind the Child Node from its parent C<<<<<< $node >>>>>>. The function returns the unbound node. If C<<<<<< oldNode >>>>>> is not a child of the given Node the function will fail.
-
-
-=item B<replaceChild>
-
- $oldnode = $node->replaceChild( $newNode, $oldNode );
-
-Replaces the C<<<<<< $oldNode >>>>>> with the C<<<<<< $newNode >>>>>>. The C<<<<<< $oldNode >>>>>> will be unbound from the Node. This function differs from the DOM L2
-specification, in the case, if the new node is not part of the document, the
-node will be imported first.
-
-
-=item B<replaceNode>
-
- $node->replaceNode($newNode);
-
-This function is very similar to replaceChild(), but it replaces the node
-itself rather than a childnode. This is useful if a node found by any XPath
-function, should be replaced.
-
-
-=item B<appendChild>
-
- $childnode = $node->appendChild( $childnode );
-
-The function will add the C<<<<<< $childnode >>>>>> to the end of C<<<<<< $node >>>>>>'s children. The function should fail, if the new childnode is already a child
-of C<<<<<< $node >>>>>>. This function differs from the DOM L2 specification, in the case, if the new
-node is not part of the document, the node will be imported first.
-
-
-=item B<addChild>
-
- $childnode = $node->addChild( $chilnode );
-
-As an alternative to appendChild() one can use the addChild() function. This
-function is a bit faster, because it avoids all DOM conformity checks.
-Therefore this function is quite useful if one builds XML documents in memory
-where the order and ownership (C<<<<<< ownerDocument >>>>>>) is assured.
-
-addChild() uses libxml2's own xmlAddChild() function. Thus it has to be used
-with extra care: If a text node is added to a node and the node itself or its
-last childnode is as well a text node, the node to add will be merged with the
-one already available. The current node will be removed from memory after this
-action. Because perl is not aware of this action, the perl instance is still
-available. XML::LibXML will catch the loss of a node and refuse to run any
-function called on that node.
-
-
-
- my $t1 = $doc->createTextNode( "foo" );
- my $t2 = $doc->createTextNode( "bar" );
- $t1->addChild( $t2 ); # is OK
- my $val = $t2->nodeValue(); # will fail, script dies
-
-Also addChild() will not check if the added node belongs to the same document
-as the node it will be added to. This could lead to inconsistent documents and
-in more worse cases even to memory violations, if one does not keep track of
-this issue.
-
-Although this sounds like a lot of trouble, addChild() is useful if a document
-is built from a stream, such as happens sometimes in SAX handlers or filters.
-
-If you are not sure about the source of your nodes, you better stay with
-appendChild(), because this function is more user friendly in the sense of
-being more error tolerant.
-
-
-=item B<addNewChild>
-
- $node = $parent->addNewChild( $nsURI, $name );
-
-Similar to C<<<<<< addChild() >>>>>>, this function uses low level libxml2 functionality to provide faster
-interface for DOM building. I<<<<<< addNewChild() >>>>>> uses C<<<<<< xmlNewChild() >>>>>> to create a new node on a given parent element.
-
-addNewChild() has two parameters $nsURI and $name, where $nsURI is an
-(optional) namespace URI. $name is the fully qualified element name;
-addNewChild() will determine the correct prefix if necessary.
-
-The function returns the newly created node.
-
-This function is very useful for DOM building, where a created node can be
-directly associated with its parent. I<<<<<< NOTE >>>>>> this function is not part of the DOM specification and its use will limit your
-code to XML::LibXML.
-
-
-=item B<addSibling>
-
- $node->addSibling($newNode);
-
-addSibling() allows adding an additional node to the end of a nodelist, defined
-by the given node.
-
-
-=item B<cloneNode>
-
- $newnode =$node->cloneNode( $deep );
-
-I<<<<<< cloneNode >>>>>> creates a copy of C<<<<<< $node >>>>>>. When $deep is set to 1 (true) the function will copy all childnodes as well.
-If $deep is 0 only the current node will be copied. Note that in case of
-element, attributes are copied even if $deep is 0.
-
-Note that the behavior of this function for $deep=0 has changed in 1.62 in
-order to be consistent with the DOM spec (in older versions attributes and
-namespace information was not copied for elements).
-
-
-=item B<parentNode>
-
- $parentnode = $node->parentNode;
-
-Returns simply the Parent Node of the current node.
-
-
-=item B<nextSibling>
-
- $nextnode = $node->nextSibling();
-
-Returns the next sibling if any .
-
-
-=item B<previousSibling>
-
- $prevnode = $node->previousSibling();
-
-Analogous to I<<<<<< getNextSibling >>>>>> the function returns the previous sibling if any.
-
-
-=item B<hasChildNodes>
-
- $boolean = $node->hasChildNodes();
-
-If the current node has Childnodes this function returns TRUE (1), otherwise it
-returns FALSE (0, not undef).
-
-
-=item B<firstChild>
-
- $childnode = $node->firstChild;
-
-If a node has childnodes this function will return the first node in the
-childlist.
-
-
-=item B<lastChild>
-
- $childnode = $node->lastChild;
-
-If the C<<<<<< $node >>>>>> has childnodes this function returns the last child node.
-
-
-=item B<ownerDocument>
-
- $documentnode = $node->ownerDocument;
-
-Through this function it is always possible to access the document the current
-node is bound to.
-
-
-=item B<getOwner>
-
- $node = $node->getOwner;
-
-This function returns the node the current node is associated with. In most
-cases this will be a document node or a document fragment node.
-
-
-=item B<setOwnerDocument>
-
- $node->setOwnerDocument( $doc );
-
-This function binds a node to another DOM. This method unbinds the node first,
-if it is already bound to another document.
-
-This function is the opposite calling of L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>'s adoptNode() function. Because of this it has the same limitations with
-Entity References as adoptNode().
-
-
-=item B<insertBefore>
-
- $node->insertBefore( $newNode, $refNode );
-
-The method inserts C<<<<<< $newNode >>>>>> before C<<<<<< $refNode >>>>>>. If C<<<<<< $refNode >>>>>> is undefined, the newNode will be set as the new last child of the parent node.
-This function differs from the DOM L2 specification, in the case, if the new
-node is not part of the document, the node will be imported first,
-automatically.
-
-$refNode has to be passed to the function even if it is undefined:
-
-
-
- $node->insertBefore( $newNode, undef ); # the same as $node->appendChild( $newNode );
- $node->insertBefore( $newNode ); # wrong
-
-Note, that the reference node has to be a direct child of the node the function
-is called on. Also, $newChild is not allowed to be an ancestor of the new
-parent node.
-
-
-=item B<insertAfter>
-
- $node->insertAfter( $newNode, $refNode );
-
-The method inserts C<<<<<< $newNode >>>>>> after C<<<<<< $refNode >>>>>>. If C<<<<<< $refNode >>>>>> is undefined, the newNode will be set as the new last child of the parent node.
-
-Note, that $refNode has to be passed explicitly even if it is undef.
-
-
-=item B<findnodes>
-
- @nodes = $node->findnodes( $xpath_expression );
-
-I<<<<<< findnodes >>>>>> evaluates the xpath expression (XPath 1.0) on the current node and returns the
-resulting node set as an array. In scalar context returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object.
-
-I<<<<<< NOTE ON NAMESPACES AND XPATH >>>>>>:
-
-A common mistake about XPath is to assume that node tests consisting of an
-element name with no prefix match elements in the default namespace. This
-assumption is wrong - by XPath specification, such node tests can only match
-elements that are in no (i.e. null) namespace.
-
-So, for example, one cannot match the root element of an XHTML document with C<<<<<< $node->find('/html') >>>>>> since C<<<<<< '/html' >>>>>> would only match if the root element C<<<<<< <html> >>>>>> had no namespace, but all XHTML elements belong to the namespace
-http://www.w3.org/1999/xhtml. (Note that C<<<<<< xmlns="..." >>>>>> namespace declarations can also be specified in a DTD, which makes the
-situation even worse, since the XML document looks as if there was no default
-namespace).
-
-There are several possible ways to deal with namespaces in XPath:
-
-
-=over 4
-
-=item *
-
-The recommended way is to use the L<<<<<< XPath Evaluation|XPath Evaluation >>>>>> module to define an explicit context for XPath evaluation, in which a document
-independent prefix-to-namespace mapping can be defined. For example:
-
-
-
- my $xpc = XML::LibXML::XPathContext->new;
- $xpc->registerNs('x', 'http://www.w3.org/1999/xhtml');
- $xpc->find('/x:html',$node);
-
-
-
-=item *
-
-Another possibility is to use prefixes declared in the queried document (if
-known). If the document declares a prefix for the namespace in question (and
-the context node is in the scope of the declaration), C<<<<<< XML::LibXML >>>>>> allows you to use the prefix in the XPath expression, e.g.:
-
-
-
- $node->find('/x:html');
-
-
-
-=back
-
-See also XML::LibXML::XPathContext->findnodes.
-
-
-=item B<find>
-
- $result = $node->find( $xpath );
-
-I<<<<<< find >>>>>> evaluates the XPath 1.0 expression using the current node as the context of the
-expression, and returns the result depending on what type of result the XPath
-expression had. For example, the XPath "1 * 3 + 52" results in a L<<<<<< XML::LibXML::Number|XML::LibXML::Number >>>>>> object being returned. Other expressions might return a L<<<<<< XML::LibXML::Boolean|XML::LibXML::Boolean >>>>>> object, or a L<<<<<< XML::LibXML::Literal|XML::LibXML::Literal >>>>>> object (a string). Each of those objects uses Perl's overload feature to "do
-the right thing" in different contexts.
-
-See also L<<<<<< XPath Evaluation|XPath Evaluation >>>>>>->find.
-
-
-=item B<findvalue>
-
- print $node->findvalue( $xpath );
-
-I<<<<<< findvalue >>>>>> is exactly equivalent to:
-
-
-
- $node->find( $xpath )->to_literal;
-
-That is, it returns the literal value of the results. This enables you to
-ensure that you get a string back from your search, allowing certain shortcuts.
-This could be used as the equivalent of XSLT's <xsl:value-of
-select="some_xpath"/>.
-
-See also L<<<<<< XPath Evaluation|XPath Evaluation >>>>>>->findvalue.
-
-
-=item B<childNodes>
-
- @childnodes = $node->childNodes;
-
-I<<<<<< getChildnodes >>>>>> implements a more intuitive interface to the childnodes of the current node. It
-enables you to pass all children directly to a C<<<<<< map >>>>>> or C<<<<<< grep >>>>>>. If this function is called in scalar context, a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object will be returned.
-
-
-=item B<toString>
-
- $xmlstring = $node->toString($format,$docencoding);
-
-This method is similar to the method C<<<<<< toString >>>>>> of a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> but for a single node. It returns a string consisting of XML serialization of
-the given node and all its descendants. Unlike C<<<<<< XML::LibXML::Document::toString >>>>>>, in this case the resulting string is by default a character string (UTF-8
-encoded with UTF8 flag on). An optional flag $format controls indentation, as
-in C<<<<<< XML::LibXML::Document::toString >>>>>>. If the second optional $docencoding flag is true, the result will be a byte
-string in the document encoding (see C<<<<<< XML::LibXML::Document::actualEncoding >>>>>>).
-
-
-=item B<toStringC14N>
-
- $c14nstring = $node->toStringC14N($with_comments, $xpath_expression);
-
-The function is similar to toString(). Instead of simply serializing the
-document tree, it transforms it as it is specified in the XML-C14N
-Specification (see L<<<<<< http://www.w3.org/TR/xml-c14n|http://www.w3.org/TR/xml-c14n >>>>>>). Such transformation is known as canonization.
-
-If $with_comments is 0 or not defined, the result-document will not contain any
-comments that exist in the original document. To include comments into the
-canonized document, $with_comments has to be set to 1.
-
-The parameter $xpath_expression defines the nodeset of nodes that should be
-visible in the resulting document. This can be used to filter out some nodes.
-One has to note, that only the nodes that are part of the nodeset, will be
-included into the result-document. Their child-nodes will not exist in the
-resulting document, unless they are part of the nodeset defined by the xpath
-expression.
-
-If $xpath_expression is omitted or empty, toStringC14N() will include all nodes
-in the given sub-tree.
-
-
-=item B<toStringEC14N>
-
- $ec14nstring = $node->toStringEC14N($with_comments, $xpath_expression, $inclusive_prefix_list);
-
-The function is similar to toStringC14N() but follows the XML-EXC-C14N
-Specification (see L<<<<<< http://www.w3.org/TR/xml-exc-c14n|http://www.w3.org/TR/xml-exc-c14n >>>>>>) for exclusive canonization of XML.
-
-The first two arguments are as above. If $inclusive_prefix_list is used, it
-should be an ARRAY reference listing namespace prefixes that are to be handled
-in the manner described by the Canonical XML Recommendation (i.e. preserved in
-the output even if the namespace is not used). C.f. the spec for details.
-
-
-=item B<serialize>
-
- $str = $doc->serialize($format);
-
-An alias for toString(). This function was name added to be more consistent
-with libxml2.
-
-
-=item B<serialize_c14n>
-
- $c14nstr = $doc->serialize_c14n($comment_flag,$xpath);
-
-An alias for toStringC14N().
-
-
-=item B<serialize_exc_c14n>
-
- $ec14nstr = $doc->serialize_ec14n($comment_flag,$xpath,$inclusive_prefix_list);
-
-An alias for toStringEC14N().
-
-
-=item B<localname>
-
- $localname = $node->localname;
-
-Returns the local name of a tag. This is the part behind the colon.
-
-
-=item B<prefix>
-
- $nameprefix = $node->prefix;
-
-Returns the prefix of a tag. This is the part before the colon.
-
-
-=item B<namespaceURI>
-
- $uri = $node->namespaceURI();
-
-returns the URI of the current namespace.
-
-
-=item B<hasAttributes>
-
- $boolean = $node->hasAttributes();
-
-returns 1 (TRUE) if the current node has any attributes set, otherwise 0
-(FALSE) is returned.
-
-
-=item B<attributes>
-
- @attributelist = $node->attributes();
-
-This function returns all attributes and namespace declarations assigned to the
-given node.
-
-Because XML::LibXML does not implement namespace declarations and attributes
-the same way, it is required to test what kind of node is handled while
-accessing the functions result.
-
-If this function is called in array context the attribute nodes are returned as
-an array. In scalar context the function will return a L<<<<<< XML::LibXML::NamedNodeMap|XML::LibXML::NamedNodeMap >>>>>> object.
-
-
-=item B<lookupNamespaceURI>
-
- $URI = $node->lookupNamespaceURI( $prefix );
-
-Find a namespace URI by its prefix starting at the current node.
-
-
-=item B<lookupNamespacePrefix>
-
- $prefix = $node->lookupNamespacePrefix( $URI );
-
-Find a namespace prefix by its URI starting at the current node.
-
-I<<<<<< NOTE >>>>>> Only the namespace URIs are meant to be unique. The prefix is only document
-related. Also the document might have more than a single prefix defined for a
-namespace.
-
-
-=item B<normalize>
-
- $node->normalize;
-
-This function normalizes adjacent text nodes. This function is not as strict as
-libxml2's xmlTextMerge() function, since it will not free a node that is still
-referenced by the perl layer.
-
-
-=item B<getNamespaces>
-
- @nslist = $node->getNamespaces;
-
-If a node has any namespaces defined, this function will return these
-namespaces. Note, that this will not return all namespaces that are in scope,
-but only the ones declared explicitly for that node.
-
-Although getNamespaces is available for all nodes, it only makes sense if used
-with element nodes.
-
-
-=item B<removeChildNodes>
-
- $node->removeChildNodes();
-
-This function is not specified for any DOM level: It removes all childnodes
-from a node in a single step. Other than the libxml2 function itself
-(xmlFreeNodeList), this function will not immediately remove the nodes from the
-memory. This saves one from getting memory violations, if there are nodes still
-referred to from the Perl level.
-
-
-=item B<nodePath>
-
- $node->nodePath();
-
-This function is not specified for any DOM level: It returns a canonical
-structure based XPath for a given node.
-
-
-=item B<line_number>
-
- $lineno = $node->line_number();
-
-This function returns the line number where the tag was found during parsing.
-If a node is added to the document the line number is 0. Problems may occur, if
-a node from one document is passed to another one.
-
-IMPORTANT: Due to limitations in the libxml2 library line numbers greater than
-65535 will be returned as 65535. Please see L<<<<<< http://bugzilla.gnome.org/show_bug.cgi?id=325533|http://bugzilla.gnome.org/show_bug.cgi?id=325533 >>>>>> for more details.
-
-Note: line_number() is special to XML::LibXML and not part of the DOM
-specification.
-
-If the line_numbers flag of the parser was not activated before parsing,
-line_number() will always return 0.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm
deleted file mode 100644
index 466efb04bef..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm
+++ /dev/null
@@ -1,191 +0,0 @@
-# $Id: NodeList.pm 709 2008-01-29 21:01:32Z pajas $
-
-package XML::LibXML::NodeList;
-use strict;
-use XML::LibXML::Boolean;
-use XML::LibXML::Literal;
-use XML::LibXML::Number;
-
-use vars qw ($VERSION);
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-
-use overload
- '""' => \&to_literal,
- 'bool' => \&to_boolean,
- ;
-
-sub new {
- my $class = shift;
- bless [@_], $class;
-}
-
-sub new_from_ref {
- my ($class,$array_ref,$reuse) = @_;
- return bless $reuse ? $array_ref : [@$array_ref], $class;
-}
-
-sub pop {
- my $self = CORE::shift;
- CORE::pop @$self;
-}
-
-sub push {
- my $self = CORE::shift;
- CORE::push @$self, @_;
-}
-
-sub append {
- my $self = CORE::shift;
- my ($nodelist) = @_;
- CORE::push @$self, $nodelist->get_nodelist;
-}
-
-sub shift {
- my $self = CORE::shift;
- CORE::shift @$self;
-}
-
-sub unshift {
- my $self = CORE::shift;
- CORE::unshift @$self, @_;
-}
-
-sub prepend {
- my $self = CORE::shift;
- my ($nodelist) = @_;
- CORE::unshift @$self, $nodelist->get_nodelist;
-}
-
-sub size {
- my $self = CORE::shift;
- scalar @$self;
-}
-
-sub get_node {
- # uses array index starting at 1, not 0
- # this is mainly because of XPath.
- my $self = CORE::shift;
- my ($pos) = @_;
- $self->[$pos - 1];
-}
-
-*item = \&get_node;
-
-sub get_nodelist {
- my $self = CORE::shift;
- @$self;
-}
-
-sub to_boolean {
- my $self = CORE::shift;
- return (@$self > 0) ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False;
-}
-
-# string-value of a nodelist is the string-value of the first node
-sub string_value {
- my $self = CORE::shift;
- return '' unless @$self;
- return $self->[0]->string_value;
-}
-
-sub to_literal {
- my $self = CORE::shift;
- return XML::LibXML::Literal->new(
- join('', grep {defined $_} map { $_->string_value } @$self)
- );
-}
-
-sub to_number {
- my $self = CORE::shift;
- return XML::LibXML::Number->new(
- $self->to_literal
- );
-}
-
-sub iterator {
- warn "this function is obsolete!\nIt was disabled in version 1.54\n";
- return undef;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-XML::LibXML::NodeList - a list of XML document nodes
-
-=head1 DESCRIPTION
-
-An XML::LibXML::NodeList object contains an ordered list of nodes, as
-detailed by the W3C DOM documentation of Node Lists.
-
-=head1 SYNOPSIS
-
- my $results = $dom->findnodes('//somepath');
- foreach my $context ($results->get_nodelist) {
- my $newresults = $context->findnodes('./other/element');
- ...
- }
-
-=head1 API
-
-=head2 new()
-
-You will almost never have to create a new NodeSet object, as it is all
-done for you by XPath.
-
-=head2 get_nodelist()
-
-Returns a list of nodes, the contents of the node list, as a perl list.
-
-=head2 string_value()
-
-Returns the string-value of the first node in the list.
-See the XPath specification for what "string-value" means.
-
-=head2 to_literal()
-
-Returns the concatenation of all the string-values of all
-the nodes in the list.
-
-=head2 get_node($pos)
-
-Returns the node at $pos. The node position in XPath is based at 1, not 0.
-
-=head2 size()
-
-Returns the number of nodes in the NodeSet.
-
-=head2 pop()
-
-Equivalent to perl's pop function.
-
-=head2 push(@nodes)
-
-Equivalent to perl's push function.
-
-=head2 append($nodelist)
-
-Given a nodelist, appends the list of nodes in $nodelist to the end of the
-current list.
-
-=head2 shift()
-
-Equivalent to perl's shift function.
-
-=head2 unshift(@nodes)
-
-Equivalent to perl's unshift function.
-
-=head2 prepend($nodeset)
-
-Given a nodelist, prepends the list of nodes in $nodelist to the front of
-the current list.
-
-=head2 iterator()
-
-Will return a new nodelist iterator for the current nodelist. A
-nodelist iterator is usefull if more complex nodelist processing is
-needed.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm
deleted file mode 100644
index 4ba448ab600..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm
+++ /dev/null
@@ -1,90 +0,0 @@
-# $Id: Number.pm 709 2008-01-29 21:01:32Z pajas $
-
-package XML::LibXML::Number;
-use XML::LibXML::Boolean;
-use XML::LibXML::Literal;
-use strict;
-
-use vars qw ($VERSION);
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-
-use overload
- '""' => \&value,
- '0+' => \&value,
- '<=>' => \&cmp;
-
-sub new {
- my $class = shift;
- my $number = shift;
- if ($number !~ /^\s*(-\s*)?(\d+(\.\d*)?|\.\d+)\s*$/) {
- $number = undef;
- }
- else {
- $number =~ s/\s+//g;
- }
- bless \$number, $class;
-}
-
-sub as_string {
- my $self = shift;
- defined $$self ? $$self : 'NaN';
-}
-
-sub as_xml {
- my $self = shift;
- return "<Number>" . (defined($$self) ? $$self : 'NaN') . "</Number>\n";
-}
-
-sub value {
- my $self = shift;
- $$self;
-}
-
-sub cmp {
- my $self = shift;
- my ($other, $swap) = @_;
- if ($swap) {
- return $other <=> $$self;
- }
- return $$self <=> $other;
-}
-
-sub evaluate {
- my $self = shift;
- $self;
-}
-
-sub to_boolean {
- my $self = shift;
- return $$self ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False;
-}
-
-sub to_literal { XML::LibXML::Literal->new($_[0]->as_string); }
-sub to_number { $_[0]; }
-
-sub string_value { return $_[0]->value }
-
-1;
-__END__
-
-=head1 NAME
-
-XML::LibXML::Number - Simple numeric values.
-
-=head1 DESCRIPTION
-
-This class holds simple numeric values. It doesn't support -0, +/- Infinity,
-or NaN, as the XPath spec says it should, but I'm not hurting anyone I don't think.
-
-=head1 API
-
-=head2 new($num)
-
-Creates a new XML::LibXML::Number object, with the value in $num. Does some
-rudimentary numeric checking on $num to ensure it actually is a number.
-
-=head2 value()
-
-Also as overloaded stringification. Returns the numeric value held.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod
deleted file mode 100644
index 6839a310ab2..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod
+++ /dev/null
@@ -1,83 +0,0 @@
-=head1 NAME
-
-XML::LibXML::PI - XML::LibXML Processing Instructions
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- # Only methods specific to Processing Instruction nodes are listed here,
- # see XML::LibXML::Node manpage for other methods
-
- $pinode->setData( $data_string );
- $pinode->setData( name=>string_value [...] );
-
-=head1 DESCRIPTION
-
-Processing instructions are implemented with XML::LibXML with read and write
-access. The PI data is the PI without the PI target (as specified in XML 1.0
-[17]) as a string. This string can be accessed with getData as implemented in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>.
-
-The write access is aware about the fact, that many processing instructions
-have attribute like data. Therefore setData() provides besides the DOM spec
-conform Interface to pass a set of named parameter. So the code segment
-
-
-
- my $pi = $dom->createProcessingInstruction("abc");
- $pi->setData(foo=>'bar', foobar=>'foobar');
- $dom->appendChild( $pi );
-
-will result the following PI in the DOM:
-
-
-
- <?abc foo="bar" foobar="foobar"?>
-
-Which is how it is specified in the DOM specification. This three step
-interface creates temporary a node in perl space. This can be avoided while
-using the insertProcessingInstruction() method. Instead of the three calls
-described above, the call
-
-
-
- $dom->insertProcessingInstruction("abc",'foo="bar" foobar="foobar"');
-
-will have the same result as above.
-
-L<<<<<< XML::LibXML Processing Instructions|XML::LibXML Processing Instructions >>>>>>'s implementation of setData() documented below differs a bit from the the
-standard version as available in L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>:
-
-=over 4
-
-=item B<setData>
-
- $pinode->setData( $data_string );
- $pinode->setData( name=>string_value [...] );
-
-This method allows to change the content data of a PI. Additionally to the
-interface specified for DOM Level2, the method provides a named parameter
-interface to set the data. This parameter list is converted into a string
-before it is appended to the PI.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod
deleted file mode 100644
index e8aa32cf449..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod
+++ /dev/null
@@ -1,683 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Parser - Parsing XML Data with XML::LibXML
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- my $parser = XML::LibXML->new();
-
- my $doc = $parser->parse_string(<<'EOT');
- <some-xml/>
- EOT
- my $fdoc = $parser->parse_file( $xmlfile );
-
- my $fhdoc = $parser->parse_fh( $xmlstream );
-
- my $fragment = $parser->parse_xml_chunk( $xml_wb_chunk );
-
- $parser = XML::LibXML->new();
- $doc = $parser->parse_file( $xmlfilename );
- $doc = $parser->parse_fh( $io_fh );
- $doc = $parser->parse_string( $xmlstring);
- $doc = $parser->parse_html_file( $htmlfile, \%opts );
- $doc = $parser->parse_html_fh( $io_fh, \%opts );
- $doc = $parser->parse_html_string( $htmlstring, \%opts );
- $fragment = $parser->parse_balanced_chunk( $wbxmlstring );
- $fragment = $parser->parse_xml_chunk( $wbxmlstring );
- $parser->process_xincludes( $doc );
- $parser->processXIncludes( $doc );
- $parser->parse_chunk($string, $terminate);
- $parser->start_push();
- $parser->push(@data);
- $doc = $parser->finish_push( $recover );
- $parser->validation(1);
- $parser->recover(1);
- $parser->recover_silently(1);
- $parser->expand_entities(0);
- $parser->keep_blanks(0);
- $parser->pedantic_parser(1);
- $parser->line_numbers(1);
- $parser->load_ext_dtd(1);
- $parser->complete_attributes(1);
- $parser->expand_xinclude(1);
- $parser->load_catalog( $catalog_file );
- $parser->base_uri( $your_base_uri );
- $parser->gdome_dom(1);
- $parser->clean_namespaces( 1 );
- $parser->no_network(1);
-
-=head1 PARSING
-
-A XML document is read into a data structure such as a DOM tree by a piece of
-software, called a parser. XML::LibXML currently provides four different parser
-interfaces:
-
-
-=over 4
-
-=item *
-
-A DOM Pull-Parser
-
-
-
-=item *
-
-A DOM Push-Parser
-
-
-
-=item *
-
-A SAX Parser
-
-
-
-=item *
-
-A DOM based SAX Parser.
-
-
-
-=back
-
-
-=head2 Creating a Parser Instance
-
-XML::LibXML provides an OO interface to the libxml2 parser functions. Thus you
-have to create a parser instance before you can parse any XML data.
-
-=over 4
-
-=item B<new>
-
- $parser = XML::LibXML->new();
-
-There is nothing much to say about the constructor. It simply creates a new
-parser instance.
-
-Although libxml2 uses mainly global flags to alter the behaviour of the parser,
-each XML::LibXML parser instance has its own flags or callbacks and does not
-interfere with other instances.
-
-
-
-=back
-
-
-=head2 DOM Parser
-
-One of the common parser interfaces of XML::LibXML is the DOM parser. This
-parser reads XML data into a DOM like data structure, so each tag can get
-accessed and transformed.
-
-XML::LibXML's DOM parser is not only capable to parse XML data, but also
-(strict) HTML files. There are three ways to parse documents - as a string, as
-a Perl filehandle, or as a filename/URL. The return value from each is a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> object, which is a DOM object.
-
-All of the functions listed below will throw an exception if the document is
-invalid. To prevent this causing your program exiting, wrap the call in an
-eval{} block
-
-=over 4
-
-=item B<parse_file>
-
- $doc = $parser->parse_file( $xmlfilename );
-
-This function parses an XML document from a file or network; $xmlfilename can
-be either a filename or an URL. Note that for parsing files, this function is
-the fastest choice, about 6-8 times faster then parse_fh().
-
-
-=item B<parse_fh>
-
- $doc = $parser->parse_fh( $io_fh );
-
-parse_fh() parses a IOREF or a subclass of IO::Handle.
-
-Because the data comes from an open handle, libxml2's parser does not know
-about the base URI of the document. To set the base URI one should use
-parse_fh() as follows:
-
-
-
- my $doc = $parser->parse_fh( $io_fh, $baseuri );
-
-
-=item B<parse_string>
-
- $doc = $parser->parse_string( $xmlstring);
-
-This function is similar to parse_fh(), but it parses a XML document that is
-available as a single string in memory. Again, you can pass an optional base
-URI to the function.
-
-
-
- my $doc = $parser->parse_string( $xmlstring, $baseuri );
-
-
-=item B<parse_html_file>
-
- $doc = $parser->parse_html_file( $htmlfile, \%opts );
-
-Similar to parse_file() but parses HTML (strict) documents; $htmlfile can be
-filename or URL.
-
-An optional second argument can be used to pass some options to the HTML parser
-as a HASH reference. Possible options are: Possible options are: encoding and
-URI for libxml2 < 2.6.27, and for later versions of libxml2 additionally:
-recover, suppress_errors, suppress_warnings, pedantic_parser, no_blanks, and
-no_network.
-
-
-=item B<parse_html_fh>
-
- $doc = $parser->parse_html_fh( $io_fh, \%opts );
-
-Similar to parse_fh() but parses HTML (strict) streams.
-
-An optional second argument can be used to pass some options to the HTML parser
-as a HASH reference. Possible options are: encoding and URI for libxml2 <
-2.6.27, and for later versions of libxml2 additionally: recover,
-suppress_errors, suppress_warnings, pedantic_parser, no_blanks, and no_network.
-Note: encoding option may not work correctly with this function in libxml2 <
-2.6.27 if the HTML file declares charset using a META tag.
-
-
-=item B<parse_html_string>
-
- $doc = $parser->parse_html_string( $htmlstring, \%opts );
-
-Similar to parse_string() but parses HTML (strict) strings.
-
-An optional second argument can be used to pass some options to the HTML parser
-as a HASH reference. Possible options are: encoding and URI for libxml2 <
-2.6.27, and for later versions of libxml2 additionally: recover,
-suppress_errors, suppress_warnings, pedantic_parser, no_blanks, and no_network.
-
-
-
-=back
-
-Parsing HTML may cause problems, especially if the ampersand ('&') is used.
-This is a common problem if HTML code is parsed that contains links to
-CGI-scripts. Such links cause the parser to throw errors. In such cases libxml2
-still parses the entire document as there was no error, but the error causes
-XML::LibXML to stop the parsing process. However, the document is not lost.
-Such HTML documents should be parsed using the I<<<<<< recover >>>>>> flag. By default recovering is deactivated.
-
-The functions described above are implemented to parse well formed documents.
-In some cases a program gets well balanced XML instead of well formed documents
-(e.g. a XML fragment from a Database). With XML::LibXML it is not required to
-wrap such fragments in the code, because XML::LibXML is capable even to parse
-well balanced XML fragments.
-
-=over 4
-
-=item B<parse_balanced_chunk>
-
- $fragment = $parser->parse_balanced_chunk( $wbxmlstring );
-
-This function parses a well balanced XML string into a L<<<<<< XML::LibXML's DOM L2 Document Fragment Implementation|XML::LibXML's DOM L2 Document Fragment Implementation >>>>>>.
-
-
-=item B<parse_xml_chunk>
-
- $fragment = $parser->parse_xml_chunk( $wbxmlstring );
-
-This is the old name of parse_balanced_chunk(). Because it may causes confusion
-with the push parser interface, this function should not be used anymore.
-
-
-
-=back
-
-By default XML::LibXML does not process XInclude tags within a XML Document
-(see options section below). XML::LibXML allows to post process a document to
-expand XInclude tags.
-
-=over 4
-
-=item B<process_xincludes>
-
- $parser->process_xincludes( $doc );
-
-After a document is parsed into a DOM structure, you may want to expand the
-documents XInclude tags. This function processes the given document structure
-and expands all XInclude tags (or throws an error) by using the flags and
-callbacks of the given parser instance.
-
-Note that the resulting Tree contains some extra nodes (of type
-XML_XINCLUDE_START and XML_XINCLUDE_END) after successfully processing the
-document. These nodes indicate where data was included into the original tree.
-if the document is serialized, these extra nodes will not show up.
-
-Remember: A Document with processed XIncludes differs from the original
-document after serialization, because the original XInclude tags will not get
-restored!
-
-If the parser flag "expand_xincludes" is set to 1, you need not to post process
-the parsed document.
-
-
-=item B<processXIncludes>
-
- $parser->processXIncludes( $doc );
-
-This is an alias to process_xincludes, but through a JAVA like function name.
-
-
-
-=back
-
-
-=head2 Push Parser
-
-XML::LibXML provides a push parser interface. Rather than pulling the data from
-a given source the push parser waits for the data to be pushed into it.
-
-This allows one to parse large documents without waiting for the parser to
-finish. The interface is especially useful if a program needs to pre-process
-the incoming pieces of XML (e.g. to detect document boundaries).
-
-While XML::LibXML parse_*() functions force the data to be a well-formed XML,
-the push parser will take any arbitrary string that contains some XML data. The
-only requirement is that all the pushed strings are together a well formed
-document. With the push parser interface a program can interrupt the parsing
-process as required, where the parse_*() functions give not enough flexibility.
-
-Different to the pull parser implemented in parse_fh() or parse_file(), the
-push parser is not able to find out about the documents end itself. Thus the
-calling program needs to indicate explicitly when the parsing is done.
-
-In XML::LibXML this is done by a single function:
-
-=over 4
-
-=item B<parse_chunk>
-
- $parser->parse_chunk($string, $terminate);
-
-parse_chunk() tries to parse a given chunk of data, which isn't necessarily
-well balanced data. The function takes two parameters: The chunk of data as a
-string and optional a termination flag. If the termination flag is set to a
-true value (e.g. 1), the parsing will be stopped and the resulting document
-will be returned as the following example describes:
-
-
-
- my $parser = XML::LibXML->new;
- for my $string ( "<", "foo", ' bar="hello world"', "/>") {
- $parser->parse_chunk( $string );
- }
- my $doc = $parser->parse_chunk("", 1); # terminate the parsing
-
-
-
-=back
-
-Internally XML::LibXML provides three functions that control the push parser
-process:
-
-=over 4
-
-=item B<start_push>
-
- $parser->start_push();
-
-Initializes the push parser.
-
-
-=item B<push>
-
- $parser->push(@data);
-
-This function pushes the data stored inside the array to libxml2's parser. Each
-entry in @data must be a normal scalar!
-
-
-=item B<finish_push>
-
- $doc = $parser->finish_push( $recover );
-
-This function returns the result of the parsing process. If this function is
-called without a parameter it will complain about non well-formed documents. If
-$restore is 1, the push parser can be used to restore broken or non well formed
-(XML) documents as the following example shows:
-
-
-
- eval {
- $parser->push( "<foo>", "bar" );
- $doc = $parser->finish_push(); # will report broken XML
- };
- if ( $@ ) {
- # ...
- }
-
-This can be annoying if the closing tag is missed by accident. The following
-code will restore the document:
-
-
-
- eval {
- $parser->push( "<foo>", "bar" );
- $doc = $parser->finish_push(1); # will return the data parsed
- # unless an error happened
- };
-
- print $doc->toString(); # returns "<foo>bar</foo>"
-
-Of course finish_push() will return nothing if there was no data pushed to the
-parser before.
-
-
-
-=back
-
-
-=head2 DOM based SAX Parser
-
-XML::LibXML provides a DOM based SAX parser. The SAX parser is defined in the
-module XML::LibXML::SAX::Parser. As it is not a stream based parser, it parses
-documents into a DOM and traverses the DOM tree instead.
-
-The API of this parser is exactly the same as any other Perl SAX2 parser. See
-XML::SAX::Intro for details.
-
-Aside from the regular parsing methods, you can access the DOM tree traverser
-directly, using the generate() method:
-
-
-
- my $doc = build_yourself_a_document();
- my $saxparser = $XML::LibXML::SAX::Parser->new( ... );
- $parser->generate( $doc );
-
-This is useful for serializing DOM trees, for example that you might have done
-prior processing on, or that you have as a result of XSLT processing.
-
-I<<<<<< WARNING >>>>>>
-
-This is NOT a streaming SAX parser. As I said above, this parser reads the
-entire document into a DOM and serialises it. Some people couldn't read that in
-the paragraph above so I've added this warning.
-
-If you want a streaming SAX parser look at the L<<<<<< XML::LibXML direct SAX parser|XML::LibXML direct SAX parser >>>>>> man page
-
-
-=head1 SERIALIZATION
-
-XML::LibXML provides some functions to serialize nodes and documents. The
-serialization functions are described on the L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> manpage or the L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> manpage. XML::LibXML checks three global flags that alter the serialization
-process:
-
-
-=over 4
-
-=item *
-
-skipXMLDeclaration
-
-
-
-=item *
-
-skipDTD
-
-
-
-=item *
-
-setTagCompression
-
-
-
-=back
-
-of that three functions only setTagCompression is available for all
-serialization functions.
-
-Because XML::LibXML does these flags not itself, one has to define them locally
-as the following example shows:
-
-
-
- local $XML::LibXML::skipXMLDeclaration = 1;
- local $XML::LibXML::skipDTD = 1;
- local $XML::LibXML::setTagCompression = 1;
-
-If skipXMLDeclaration is defined and not '0', the XML declaration is omitted
-during serialization.
-
-If skipDTD is defined and not '0', an existing DTD would not be serialized with
-the document.
-
-If setTagCompression is defined and not '0' empty tags are displayed as open
-and closing tags rather than the shortcut. For example the empty tag I<<<<<< foo >>>>>> will be rendered as I<<<<<< <foo></foo> >>>>>> rather than I<<<<<< <foo/> >>>>>>.
-
-
-=head1 PARSER OPTIONS
-
-LibXML options are global (unfortunately this is a limitation of the underlying
-implementation, not this interface). They can either be set using
-$parser->option(...), or XML::LibXML->option(...), both are treated in the same
-manner. Note that even two parser processes will share some of the same
-options, so be careful out there!
-
-Every option returns the previous value, and can be called without parameters
-to get the current value.
-
-=over 4
-
-=item B<validation>
-
- $parser->validation(1);
-
-Turn validation on (or off). Defaults to off.
-
-
-=item B<recover>
-
- $parser->recover(1);
-
-Turn the parsers recover mode on (or off). Defaults to off.
-
-This allows one to parse broken XML data into memory. This switch will only
-work with XML data rather than HTML data. Also the validation will be switched
-off automatically.
-
-The recover mode helps to recover documents that are almost well-formed very
-efficiently. That is for example a document that forgets to close the document
-tag (or any other tag inside the document). The recover mode of XML::LibXML has
-problems restoring documents that are more like well balanced chunks.
-
-XML::LibXML will only parse until the first fatal error occurs, reporting
-recoverable parsing errors as warnings. To suppress these warnings use
-$parser->recover_silently(1); or, equivalently, $parser->recover(2).
-
-
-=item B<recover_silently>
-
- $parser->recover_silently(1);
-
-Turns the parser warnings off (or on). Defaults to on.
-
-This allows to switch off warnings printed to STDERR when parsing documents
-with recover(1).
-
-Please note that calling recover_silently(0) also turns the parser recover mode
-off and calling recover_silently(1) automatically activates the parser recover
-mode.
-
-
-=item B<expand_entities>
-
- $parser->expand_entities(0);
-
-Turn entity expansion on or off, enabled by default. If entity expansion is
-off, any external parsed entities in the document are left as entities.
-Probably not very useful for most purposes.
-
-
-=item B<keep_blanks>
-
- $parser->keep_blanks(0);
-
-Allows you to turn off XML::LibXML's default behaviour of maintaining
-white-space in the document.
-
-
-=item B<pedantic_parser>
-
- $parser->pedantic_parser(1);
-
-You can make XML::LibXML more pedantic if you want to.
-
-
-=item B<line_numbers>
-
- $parser->line_numbers(1);
-
-If this option is activated XML::LibXML will store the line number of a node.
-This gives more information where a validation error occurred. It could be also
-used to find out about the position of a node after parsing (see also
-XML::LibXML::Node::line_number()).
-
-IMPORTANT: Due to limitations in the libxml2 library line numbers greater than
-65535 will be returned as 65535. Please see L<<<<<< http://bugzilla.gnome.org/show_bug.cgi?id=325533|http://bugzilla.gnome.org/show_bug.cgi?id=325533 >>>>>> for more details.
-
-By default line numbering is switched off (0).
-
-
-=item B<load_ext_dtd>
-
- $parser->load_ext_dtd(1);
-
-Load external DTD subsets while parsing.
-
-This flag is also required for DTD Validation, to provide complete attribute,
-and to expand entities, regardless if the document has an internal subset. Thus
-switching off external DTD loading, will disable entity expansion, validation,
-and complete attributes on internal subsets as well.
-
-If you leave this parser flag untouched, everything will work, because the
-default is 1 (activated)
-
-
-=item B<complete_attributes>
-
- $parser->complete_attributes(1);
-
-Complete the elements attributes lists with the ones defaulted from the DTDs.
-By default, this option is enabled.
-
-
-=item B<expand_xinclude>
-
- $parser->expand_xinclude(1);
-
-Expands XIinclude tags immediately while parsing the document. This flag
-assures that the parser callbacks are used while parsing the included document.
-
-
-=item B<load_catalog>
-
- $parser->load_catalog( $catalog_file );
-
-Will use $catalog_file as a catalog during all parsing processes. Using a
-catalog will significantly speed up parsing processes if many external
-resources are loaded into the parsed documents (such as DTDs or XIncludes).
-
-Note that catalogs will not be available if an external entity handler was
-specified. At the current state it is not possible to make use of both types of
-resolving systems at the same time.
-
-
-=item B<base_uri>
-
- $parser->base_uri( $your_base_uri );
-
-In case of parsing strings or file handles, XML::LibXML doesn't know about the
-base uri of the document. To make relative references such as XIncludes work,
-one has to set a separate base URI, that is then used for the parsed documents.
-
-
-=item B<gdome_dom>
-
- $parser->gdome_dom(1);
-
-THIS FLAG IS EXPERIMENTAL!
-
-Although quite powerful XML:LibXML's DOM implementation is limited if one needs
-or wants full DOM level 2 or level 3 support. XML::GDOME is based on libxml2 as
-well but provides a rather complete DOM implementation by wrapping libgdome.
-This allows you to make use of XML::LibXML's full parser options and
-XML::GDOME's DOM implementation at the same time.
-
-To make use of this function, one has to install libgdome and configure
-XML::LibXML to use this library. For this you need to rebuild XML::LibXML!
-
-
-=item B<clean_namespaces>
-
- $parser->clean_namespaces( 1 );
-
-libxml2 2.6.0 and later allows to strip redundant namespace declarations from
-the DOM tree. To do this, one has to set clean_namespaces() to 1 (TRUE). By
-default no namespace cleanup is done.
-
-
-=item B<no_network>
-
- $parser->no_network(1);
-
-Turn networking support on or off, enabled by default. If networking is off,
-all attempts to fetch non-local resources (such as DTD or external entities)
-will fail (unless custom callbacks are defined). It may be necessary to use
-$parser->recover(1) for processing documents requiring such resources while
-networking is off.
-
-
-
-=back
-
-
-=head1 ERROR REPORTING
-
-XML::LibXML throws exceptions during parsing, validation or XPath processing
-(and some other occasions). These errors can be caught by using I<<<<<< eval >>>>>> blocks. The error then will be stored in I<<<<<< $@ >>>>>>.
-
-XML::LibXML throws errors as they occurs and does not wait if a user test for
-them. This is a very common misunderstanding in the use of XML::LibXML. If the
-eval is omitted, XML::LibXML will always halt your script by "croaking" (see
-Carp man page for details).
-
-Also note that an increasing number of functions throw errors if bad data is
-passed. If you cannot assure valid data passed to XML::LibXML you should eval
-these functions.
-
-Note: since version 1.59, get_last_error() is no longer available in
-XML::LibXML for thread-safety reasons.
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm
deleted file mode 100644
index 935d31a5644..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm
+++ /dev/null
@@ -1,222 +0,0 @@
-package XML::LibXML::Reader;
-use XML::LibXML;
-
-use strict;
-use warnings;
-
-use vars qw ($VERSION);
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-
-use Carp;
-use 5.008_000;
-use base qw(Exporter);
-use constant {
- XML_READER_TYPE_NONE => 0,
- XML_READER_TYPE_ELEMENT => 1,
- XML_READER_TYPE_ATTRIBUTE => 2,
- XML_READER_TYPE_TEXT => 3,
- XML_READER_TYPE_CDATA => 4,
- XML_READER_TYPE_ENTITY_REFERENCE => 5,
- XML_READER_TYPE_ENTITY => 6,
- XML_READER_TYPE_PROCESSING_INSTRUCTION => 7,
- XML_READER_TYPE_COMMENT => 8,
- XML_READER_TYPE_DOCUMENT => 9,
- XML_READER_TYPE_DOCUMENT_TYPE => 10,
- XML_READER_TYPE_DOCUMENT_FRAGMENT => 11,
- XML_READER_TYPE_NOTATION => 12,
- XML_READER_TYPE_WHITESPACE => 13,
- XML_READER_TYPE_SIGNIFICANT_WHITESPACE => 14,
- XML_READER_TYPE_END_ELEMENT => 15,
- XML_READER_TYPE_END_ENTITY => 16,
- XML_READER_TYPE_XML_DECLARATION => 17,
-
- XML_READER_NONE => -1,
- XML_READER_START => 0,
- XML_READER_ELEMENT => 1,
- XML_READER_END => 2,
- XML_READER_EMPTY => 3,
- XML_READER_BACKTRACK => 4,
- XML_READER_DONE => 5,
- XML_READER_ERROR => 6
-};
-use vars qw( @EXPORT @EXPORT_OK %EXPORT_TAGS );
-
-BEGIN {
-
-%EXPORT_TAGS = (
- types =>
- [qw(
- XML_READER_TYPE_NONE
- XML_READER_TYPE_ELEMENT
- XML_READER_TYPE_ATTRIBUTE
- XML_READER_TYPE_TEXT
- XML_READER_TYPE_CDATA
- XML_READER_TYPE_ENTITY_REFERENCE
- XML_READER_TYPE_ENTITY
- XML_READER_TYPE_PROCESSING_INSTRUCTION
- XML_READER_TYPE_COMMENT
- XML_READER_TYPE_DOCUMENT
- XML_READER_TYPE_DOCUMENT_TYPE
- XML_READER_TYPE_DOCUMENT_FRAGMENT
- XML_READER_TYPE_NOTATION
- XML_READER_TYPE_WHITESPACE
- XML_READER_TYPE_SIGNIFICANT_WHITESPACE
- XML_READER_TYPE_END_ELEMENT
- XML_READER_TYPE_END_ENTITY
- XML_READER_TYPE_XML_DECLARATION
- )],
- states =>
- [qw(
- XML_READER_NONE
- XML_READER_START
- XML_READER_ELEMENT
- XML_READER_END
- XML_READER_EMPTY
- XML_READER_BACKTRACK
- XML_READER_DONE
- XML_READER_ERROR
- )]
-);
-@EXPORT = (@{$EXPORT_TAGS{types}},@{$EXPORT_TAGS{states}});
-@EXPORT_OK = @EXPORT;
-$EXPORT_TAGS{all}=\@EXPORT_OK;
-}
-
-{
- my %flags = (
- recover => 1, # recover on errors
- expand_entities => 2, # substitute entities
- load_ext_dtd => 4, # load the external subset
- complete_attributes => 8, # default DTD attributes
- validation => 16, # validate with the DTD
- suppress_errors => 32, # suppress error reports
- suppress_warnings => 64, # suppress warning reports
- pedantic_parser => 128, # pedantic error reporting
- no_blanks => 256, # remove blank nodes
- expand_xinclude => 1024, # Implement XInclude substitition
- xinclude => 1024, # ... alias
- no_network => 2048, # Forbid network access
- clean_namespaces => 8192, # remove redundant namespaces declarations
- no_cdata => 16384, # merge CDATA as text nodes
- no_xinclude_nodes => 32768, # do not generate XINCLUDE START/END nodes
- );
- sub _parser_options {
- my ($opts) = @_;
-
- # currently dictionaries break XML::LibXML memory management
- my $no_dict = 4096;
- my $flags = $no_dict; # safety precaution
-
- my ($key, $value);
- while (($key,$value) = each %$opts) {
- my $f = $flags{ $key };
- if (defined $f) {
- if ($value) {
- $flags |= $f
- } else {
- $flags &= ~$f;
- }
- }
- }
- return $flags;
- }
- my %props = (
- load_ext_dtd => 1, # load the external subset
- complete_attributes => 2, # default DTD attributes
- validation => 3, # validate with the DTD
- expand_entities => 4, # substitute entities
- );
- sub getParserProp {
- my ($self, $name) = @_;
- my $prop = $props{$name};
- return undef unless defined $prop;
- return $self->_getParserProp($prop);
- }
- sub setParserProp {
- my $self = shift;
- my %args = map { ref($_) eq 'HASH' ? (%$_) : $_ } @_;
- my ($key, $value);
- while (($key,$value) = each %args) {
- my $prop = $props{ $key };
- $self->_setParserProp($prop,$value);
- }
- return;
- }
-
- my (%string_pool,%rng_pool,%xsd_pool); # used to preserve data passed to the reader
- sub new {
- my ($class) = shift;
- my %args = map { ref($_) eq 'HASH' ? (%$_) : $_ } @_;
- my $encoding = $args{encoding};
- my $URI = $args{URI};
- my $options = _parser_options(\%args);
-
- my $self = undef;
- if ( defined $args{location} ) {
- $self = $class->_newForFile( $args{location}, $encoding, $options );
- }
- elsif ( defined $args{string} ) {
- $self = $class->_newForString( $args{string}, $URI, $encoding, $options );
- $string_pool{$self} = \$args{string};
- }
- elsif ( defined $args{IO} ) {
- $self = $class->_newForIO( $args{IO}, $URI, $encoding, $options );
- }
- elsif ( defined $args{DOM} ) {
- croak("DOM must be a XML::LibXML::Document node")
- unless UNIVERSAL::isa($args{DOM}, 'XML::LibXML::Document');
- $self = $class->_newForDOM( $args{DOM} );
- }
- elsif ( defined $args{FD} ) {
- my $fd = fileno($args{FD});
- $self = $class->_newForFd( $fd, $URI, $encoding, $options );
- }
- else {
- croak("XML::LibXML::Reader->new: specify location, string, IO, DOM, or FD");
- }
- if ($args{RelaxNG}) {
- if (ref($args{RelaxNG})) {
- $rng_pool{$self} = \$args{RelaxNG};
- $self->_setRelaxNG($args{RelaxNG});
- } else {
- $self->_setRelaxNGFile($args{RelaxNG});
- }
- }
- if ($args{Schema}) {
- if (ref($args{Schema})) {
- $xsd_pool{$self} = \$args{Schema};
- $self->_setXSD($args{Schema});
- } else {
- $self->_setXSDFile($args{Schema});
- }
- }
- return $self;
- }
- sub DESTROY {
- my $self = shift;
- delete $string_pool{$self};
- delete $rng_pool{$self};
- delete $xsd_pool{$self};
- $self->_DESTROY;
- }
-}
-sub close {
- my ($reader) = @_;
- # _close return -1 on failure, 0 on success
- # perl close returns 0 on failure, 1 on success
- return $reader->_close == 0 ? 1 : 0;
-}
-
-sub preservePattern {
- my $reader=shift;
- my ($pattern,$ns_map)=@_;
- if (ref($ns_map) eq 'HASH') {
- # translate prefix=>URL hash to a (URL,prefix) list
- $reader->_preservePattern($pattern,[reverse %$ns_map]);
- } else {
- $reader->_preservePattern(@_);
- }
-}
-
-1;
-__END__
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod
deleted file mode 100644
index 9e8ab26550d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod
+++ /dev/null
@@ -1,716 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Reader - XML::LibXML::Reader - interface to libxml2 pull parser
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML::Reader;
-
-
-
- $reader = new XML::LibXML::Reader(location => "file.xml")
- or die "cannot read file.xml\n";
- while ($reader->read) {
- processNode($reader);
- }
-
-
-
- sub processNode {
- $reader = shift;
- printf "%d %d %s %d\n", ($reader->depth,
- $reader->nodeType,
- $reader->name,
- $reader->isEmptyElement);
- }
-
-or
-
-
-
- $reader = new XML::LibXML::Reader(location => "file.xml")
- or die "cannot read file.xml\n";
- $reader->preservePattern('//table/tr');
- $reader->finish;
- print $reader->document->toString(1);
-
-
-=head1 DESCRIPTION
-
-This is a perl interface to libxml2's pull-parser implementation xmlTextReader I<<<<<< http://xmlsoft.org/html/libxml-xmlreader.html >>>>>>. This feature requires at least libxml2-2.6.21. Pull-parser (StAX in Java,
-XmlReader in C#) use an iterator approach to parse a xml-file. They are easier
-to program than event-based parser (SAX) and much more lightweight than
-tree-based parser (DOM), which load the complete tree into memory.
-
-The Reader acts as a cursor going forward on the document stream and stopping
-at each node in the way. At every point DOM-like methods of the Reader object
-allow to examine the current node (name, namespace, attributes, etc.)
-
-The user's code keeps control of the progress and simply calls the C<<<<<< read() >>>>>> function repeatedly to progress to the next node in the document order. Other
-functions provide means for skipping complete sub-trees, or nodes until a
-specific element, etc.
-
-At every time, only a very limited portion of the document is kept in the
-memory, which makes the API more memory-efficient than using DOM. However, it
-is also possible to mix Reader with DOM. At every point the user may copy the
-current node (optionally expanded into a complete sub-tree) from the processed
-document to another DOM tree, or to instruct the Reader to collect sub-document
-in form of a DOM tree consisting of selected nodes.
-
-Reader API also supports namespaces, xml:base, entity handling, and DTD
-validation. Schema and RelaxNG validation support will probably be added in
-some later revision of the Perl interface.
-
-The naming of methods compared to libxml2 and C# XmlTextReader has been changed
-slightly to match the conventions of XML::LibXML. Some functions have been
-changed or added with respect to the C interface.
-
-
-=head1 CONSTRUCTOR
-
-Depending on the XML source, the Reader object can be created with either of:
-
-
-
- my $reader = XML::LibXML::Reader->new( location => "file.xml", ... );
- my $reader = XML::LibXML::Reader->new( string => $xml_string, ... );
- my $reader = XML::LibXML::Reader->new( IO => $file_handle, ... );
- my $reader = XML::LibXML::Reader->new( DOM => $dom, ... );
-
-where ... are (optional) reader options described below in Parser options. The
-constructor recognizes the following XML sources:
-
-
-=head2 Source specification
-
-=over 4
-
-=item B<location>
-
-Read XML from a local file or URL.
-
-
-=item B<string>
-
-Read XML from a string.
-
-
-=item B<IO>
-
-Read XML a Perl IO filehandle.
-
-
-=item B<FD>
-
-Read XML from a file descriptor (bypasses Perl I/O layer, only applicable to
-filehandles for regular files or pipes). Possibly faster than IO.
-
-
-=item B<DOM>
-
-Use reader API to walk through a pre-parsed L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>.
-
-
-
-=back
-
-
-=head2 Parsing options
-
-=over 4
-
-=item B<URI>
-
-can be used to provide baseURI when parsing strings or filehandles.
-
-
-=item B<encoding>
-
-override document encoding.
-
-
-=item B<RelaxNG>
-
-can be used to pass either a L<<<<<< RelaxNG Schema Validation|RelaxNG Schema Validation >>>>>> object or a filename or URL of a RelaxNG schema to the constructor. The schema
-is then used to validate the document as it is processed.
-
-
-=item B<Schema>
-
-can be used to pass either a L<<<<<< XML Schema Validation|XML Schema Validation >>>>>> object or a filename or URL of a W3C XSD schema to the constructor. The schema
-is then used to validate the document as it is processed.
-
-
-=item B<recover>
-
-recover on errors (0 or 1)
-
-
-=item B<expand_entities>
-
-substitute entities (0 or 1)
-
-
-=item B<load_ext_dtd>
-
-load the external subset (0 or 1)
-
-
-=item B<complete_attributes>
-
-default DTD attributes (0 or 1)
-
-
-=item B<validation>
-
-validate with the DTD (0 or 1)
-
-
-=item B<suppress_errors>
-
-suppress error reports (0 or 1)
-
-
-=item B<suppress_warnings>
-
-suppress warning reports (0 or 1)
-
-
-=item B<pedantic_parser>
-
-pedantic error reporting (0 or 1)
-
-
-=item B<no_blanks>
-
-remove blank nodes (0 or 1)
-
-
-=item B<expand_xinclude>
-
-Implement XInclude substitution (0 or 1)
-
-
-=item B<no_network>
-
-Forbid network access (0 or 1)
-
-
-=item B<clean_namespaces>
-
-remove redundant namespaces declarations (0 or 1)
-
-
-=item B<no_cdata>
-
-merge CDATA as text nodes (0 or 1)
-
-
-=item B<no_xinclude_nodes>
-
-do not generate XINCLUDE START/END nodes (0 or 1)
-
-
-
-=back
-
-
-=head1 METHODS CONTROLLING PARSING PROGRESS
-
-=over 4
-
-=item B<read ()>
-
-Moves the position to the next node in the stream, exposing its properties.
-
-Returns 1 if the node was read successfully, 0 if there is no more nodes to
-read, or -1 in case of error
-
-
-=item B<readAttributeValue ()>
-
-Parses an attribute value into one or more Text and EntityReference nodes.
-
-Returns 1 in case of success, 0 if the reader was not positioned on an
-attribute node or all the attribute values have been read, or -1 in case of
-error.
-
-
-=item B<readState ()>
-
-Gets the read state of the reader. Returns the state value, or -1 in case of
-error. The module exports constants for the Reader states, see STATES below.
-
-
-=item B<depth ()>
-
-The depth of the node in the tree, starts at 0 for the root node.
-
-
-=item B<next ()>
-
-Skip to the node following the current one in the document order while avoiding
-the sub-tree if any. Returns 1 if the node was read successfully, 0 if there is
-no more nodes to read, or -1 in case of error.
-
-
-=item B<nextElement (localname?,nsURI?)>
-
-Skip nodes following the current one in the document order until a specific
-element is reached. The element's name must be equal to a given localname if
-defined, and its namespace must equal to a given nsURI if defined. Either of
-the arguments can be undefined (or omitted, in case of the latter or both).
-
-Returns 1 if the element was found, 0 if there is no more nodes to read, or -1
-in case of error.
-
-
-=item B<skipSiblings ()>
-
-Skip all nodes on the same or lower level until the first node on a higher
-level is reached. In particular, if the current node occurs in an element, the
-reader stops at the end tag of the parent element, otherwise it stops at a node
-immediately following the parent node.
-
-Returns 1 if successful, 0 if end of the document is reached, or -1 in case of
-error.
-
-
-=item B<nextSibling ()>
-
-It skips to the node following the current one in the document order while
-avoiding the sub-tree if any.
-
-Returns 1 if the node was read successfully, 0 if there is no more nodes to
-read, or -1 in case of error
-
-
-=item B<nextSiblingElement (name?,nsURI?)>
-
-Like nextElement but only processes sibling elements of the current node
-(moving forward using C<<<<<< nextSibling () >>>>>> rather than C<<<<<< read () >>>>>>, internally).
-
-Returns 1 if the element was found, 0 if there is no more sibling nodes, or -1
-in case of error.
-
-
-=item B<finish ()>
-
-Skip all remaining nodes in the document, reaching end of the document.
-
-Returns 1 if successful, 0 in case of error.
-
-
-=item B<close ()>
-
-This method releases any resources allocated by the current instance and closes
-any underlying input. It returns 0 on failure and 1 on success. This method is
-automatically called by the destructor when the reader is forgotten, therefore
-you do not have to call it directly.
-
-
-
-=back
-
-
-=head1 METHODS EXTRACTING INFORMATION
-
-=over 4
-
-=item B<name ()>
-
-Returns the qualified name of the current node, equal to (Prefix:)LocalName.
-
-
-=item B<nodeType ()>
-
-Returns the type of the current node. See NODE TYPES below.
-
-
-=item B<localName ()>
-
-Returns the local name of the node.
-
-
-=item B<prefix ()>
-
-Returns the prefix of the namespace associated with the node.
-
-
-=item B<namespaceURI ()>
-
-Returns the URI defining the namespace associated with the node.
-
-
-=item B<isEmptyElement ()>
-
-Check if the current node is empty, this is a bit bizarre in the sense that
-<a/> will be considered empty while <a></a> will not.
-
-
-=item B<hasValue ()>
-
-Returns true if the node can have a text value.
-
-
-=item B<value ()>
-
-Provides the text value of the node if present or undef if not available.
-
-
-=item B<readInnerXml ()>
-
-Reads the contents of the current node, including child nodes and markup.
-Returns a string containing the XML of the node's content, or undef if the
-current node is neither an element nor attribute, or has no child nodes.
-
-
-=item B<readOuterXml ()>
-
-Reads the contents of the current node, including child nodes and markup.
-
-Returns a string containing the XML of the node including its content, or undef
-if the current node is neither an element nor attribute.
-
-
-
-=back
-
-
-=head1 METHODS EXTRACTING DOM NODES
-
-=over 4
-
-=item B<document ()>
-
-Provides access to the document tree built by the reader. This function can be
-used to collect the preserved nodes (see C<<<<<< preserveNode() >>>>>> and preservePattern).
-
-CAUTION: Never use this function to modify the tree unless reading of the whole
-document is completed!
-
-
-=item B<copyCurrentNode (deep)>
-
-This function is similar a DOM function C<<<<<< copyNode() >>>>>>. It returns a copy of the currently processed node as a corresponding DOM
-object. Use deep = 1 to obtain the full sub-tree.
-
-
-=item B<preserveNode ()>
-
-This tells the XML Reader to preserve the current node in the document tree. A
-document tree consisting of the preserved nodes and their content can be
-obtained using the method C<<<<<< document() >>>>>> once parsing is finished.
-
-Returns the node or NULL in case of error.
-
-
-=item B<preservePattern (pattern,\%ns_map)>
-
-This tells the XML Reader to preserve all nodes matched by the pattern (which
-is a streaming XPath subset). A document tree consisting of the preserved nodes
-and their content can be obtained using the method C<<<<<< document() >>>>>> once parsing is finished.
-
-An optional second argument can be used to provide a HASH reference mapping
-prefixes used by the XPath to namespace URIs.
-
-The XPath subset available with this function is described at
-
-
-
- http://www.w3.org/TR/xmlschema-1/#Selector
-
-and matches the production
-
-
-
- Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
-
-Returns a positive number in case of success and -1 in case of error
-
-
-
-=back
-
-
-=head1 METHODS PROCESSING ATTRIBUTES
-
-=over 4
-
-=item B<attributeCount ()>
-
-Provides the number of attributes of the current node.
-
-
-=item B<hasAttributes ()>
-
-Whether the node has attributes.
-
-
-=item B<getAttribute (name)>
-
-Provides the value of the attribute with the specified qualified name.
-
-Returns a string containing the value of the specified attribute, or undef in
-case of error.
-
-
-=item B<getAttributeNs (localName, namespaceURI)>
-
-Provides the value of the specified attribute.
-
-Returns a string containing the value of the specified attribute, or undef in
-case of error.
-
-
-=item B<getAttributeNo (no)>
-
-Provides the value of the attribute with the specified index relative to the
-containing element.
-
-Returns a string containing the value of the specified attribute, or undef in
-case of error.
-
-
-=item B<isDefault ()>
-
-Returns true if the current attribute node was generated from the default value
-defined in the DTD.
-
-
-=item B<moveToAttribute (name)>
-
-Moves the position to the attribute with the specified local name and namespace
-URI.
-
-Returns 1 in case of success, -1 in case of error, 0 if not found
-
-
-=item B<moveToAttributeNo (no)>
-
-Moves the position to the attribute with the specified index relative to the
-containing element.
-
-Returns 1 in case of success, -1 in case of error, 0 if not found
-
-
-=item B<moveToAttributeNs (localName,namespaceURI)>
-
-Moves the position to the attribute with the specified local name and namespace
-URI.
-
-Returns 1 in case of success, -1 in case of error, 0 if not found
-
-
-=item B<moveToFirstAttribute ()>
-
-Moves the position to the first attribute associated with the current node.
-
-Returns 1 in case of success, -1 in case of error, 0 if not found
-
-
-=item B<moveToNextAttribute ()>
-
-Moves the position to the next attribute associated with the current node.
-
-Returns 1 in case of success, -1 in case of error, 0 if not found
-
-
-=item B<moveToElement ()>
-
-Moves the position to the node that contains the current attribute node.
-
-Returns 1 in case of success, -1 in case of error, 0 if not moved
-
-
-=item B<isNamespaceDecl ()>
-
-Determine whether the current node is a namespace declaration rather than a
-regular attribute.
-
-Returns 1 if the current node is a namespace declaration, 0 if it is a regular
-attribute or other type of node, or -1 in case of error.
-
-
-
-=back
-
-
-=head1 OTHER METHODS
-
-=over 4
-
-=item B<lookupNamespace (prefix)>
-
-Resolves a namespace prefix in the scope of the current element.
-
-Returns a string containing the namespace URI to which the prefix maps or undef
-in case of error.
-
-
-=item B<encoding ()>
-
-Returns a string containing the encoding of the document or undef in case of
-error.
-
-
-=item B<standalone ()>
-
-Determine the standalone status of the document being read. Returns 1 if the
-document was declared to be standalone, 0 if it was declared to be not
-standalone, or -1 if the document did not specify its standalone status or in
-case of error.
-
-
-=item B<xmlVersion ()>
-
-Determine the XML version of the document being read. Returns a string
-containing the XML version of the document or undef in case of error.
-
-
-=item B<baseURI ()>
-
-The base URI of the node. See the XML Base W3C specification.
-
-
-=item B<isValid ()>
-
-Retrieve the validity status from the parser.
-
-Returns 1 if valid, 0 if no, and -1 in case of error.
-
-
-=item B<xmlLang ()>
-
-The xml:lang scope within which the node resides.
-
-
-=item B<lineNumber ()>
-
-Provide the line number of the current parsing point.
-
-
-=item B<columnNumber ()>
-
-Provide the column number of the current parsing point.
-
-
-=item B<byteConsumed ()>
-
-This function provides the current index of the parser relative to the start of
-the current entity. This function is computed in bytes from the beginning
-starting at zero and finishing at the size in bytes of the file if parsing a
-file. The function is of constant cost if the input is UTF-8 but can be costly
-if run on non-UTF-8 input.
-
-
-=item B<setParserProp (prop => value, ...)>
-
-Change the parser processing behaviour by changing some of its internal
-properties. The following properties are available with this function:
-``load_ext_dtd'', ``complete_attributes'', ``validation'', ``expand_entities''.
-
-Since some of the properties can only be changed before any read has been done,
-it is best to set the parsing properties at the constructor.
-
-Returns 0 if the call was successful, or -1 in case of error
-
-
-=item B<getParserProp (prop)>
-
-Get value of an parser internal property. The following property names can be
-used: ``load_ext_dtd'', ``complete_attributes'', ``validation'',
-``expand_entities''.
-
-Returns the value, usually 0 or 1, or -1 in case of error.
-
-
-
-=back
-
-
-=head1 DESTRUCTION
-
-XML::LibXML takes care of the reader object destruction when the last reference
-to the reader object goes out of scope. The document tree is preserved, though,
-if either of $reader->document or $reader->preserveNode was used and references
-to the document tree exist.
-
-
-=head1 NODE TYPES
-
-The reader interface provides the following constants for node types (the
-constant symbols are exported by default or if tag C<<<<<< :types >>>>>> is used).
-
-
-
- XML_READER_TYPE_NONE => 0
- XML_READER_TYPE_ELEMENT => 1
- XML_READER_TYPE_ATTRIBUTE => 2
- XML_READER_TYPE_TEXT => 3
- XML_READER_TYPE_CDATA => 4
- XML_READER_TYPE_ENTITY_REFERENCE => 5
- XML_READER_TYPE_ENTITY => 6
- XML_READER_TYPE_PROCESSING_INSTRUCTION => 7
- XML_READER_TYPE_COMMENT => 8
- XML_READER_TYPE_DOCUMENT => 9
- XML_READER_TYPE_DOCUMENT_TYPE => 10
- XML_READER_TYPE_DOCUMENT_FRAGMENT => 11
- XML_READER_TYPE_NOTATION => 12
- XML_READER_TYPE_WHITESPACE => 13
- XML_READER_TYPE_SIGNIFICANT_WHITESPACE => 14
- XML_READER_TYPE_END_ELEMENT => 15
- XML_READER_TYPE_END_ENTITY => 16
- XML_READER_TYPE_XML_DECLARATION => 17
-
-
-=head1 STATES
-
-The following constants represent the values returned by C<<<<<< readState() >>>>>>. They are exported by default, or if tag C<<<<<< :states >>>>>> is used:
-
-
-
- XML_READER_NONE => -1
- XML_READER_START => 0
- XML_READER_ELEMENT => 1
- XML_READER_END => 2
- XML_READER_EMPTY => 3
- XML_READER_BACKTRACK => 4
- XML_READER_DONE => 5
- XML_READER_ERROR => 6
-
-
-=head1 VERSION
-
-0.02
-
-
-=head1 AUTHORS
-
-Heiko Klein, <H.Klein@gmx.net<gt> and Petr Pajas, <pajas@matfyz.cz<gt>
-
-
-=head1 SEE ALSO
-
-http://xmlsoft.org/html/libxml-xmlreader.html
-
-http://dotgnu.org/pnetlib-doc/System/Xml/XmlTextReader.html
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod
deleted file mode 100644
index a233ead4742..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod
+++ /dev/null
@@ -1,77 +0,0 @@
-=head1 NAME
-
-XML::LibXML::RelaxNG - RelaxNG Schema Validation
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- $doc = XML::LibXML->new->parse_file($url);
-
- $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url );
- $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring );
- $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc );
- eval { $rngschema->validate( $doc ); };
-
-=head1 DESCRIPTION
-
-The XML::LibXML::RelaxNG class is a tiny frontend to libxml2's RelaxNG
-implementation. Currently it supports only schema parsing and document
-validation.
-
-
-=head1 METHODS
-
-=over 4
-
-=item B<new>
-
- $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url );
- $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring );
- $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc );
-
-The constructor of XML::LibXML::RelaxNG may get called with either one of three
-parameters. The parameter tells the class from which source it should generate
-a validation schema. It is important, that each schema only have a single
-source.
-
-The location parameter allows to parse a schema from the filesystem or a URL.
-
-The string parameter will parse the schema from the given XML string.
-
-The DOM parameter allows to parse the schema from a pre-parsed L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>>.
-
-Note that the constructor will die() if the schema does not meed the
-constraints of the RelaxNG specification.
-
-
-=item B<validate>
-
- eval { $rngschema->validate( $doc ); };
-
-This function allows to validate a (parsed) document against the given RelaxNG
-schema. The argument of this function should be a XML::LibXML::Document object.
-If this function succeeds, it will return 0, otherwise it will die() and report
-the errors found. Because of this validate() should be always evaluated.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm
deleted file mode 100644
index de8821e83bc..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm
+++ /dev/null
@@ -1,81 +0,0 @@
-# $Id: SAX.pm 709 2008-01-29 21:01:32Z pajas $
-# Copyright (c) 2001-2002, AxKit.com Ltd. All rights reserved.
-package XML::LibXML::SAX;
-
-use strict;
-use vars qw($VERSION @ISA);
-
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-
-use XML::LibXML;
-use XML::SAX::Base;
-
-use base qw(XML::SAX::Base);
-
-use Carp;
-use IO::File;
-
-sub _parse_characterstream {
- my ( $self, $fh ) = @_;
- # this my catch the xml decl, so the parser won't get confused about
- # a possibly wrong encoding.
- croak( "not implemented yet" );
-}
-
-sub _parse_bytestream {
- my ( $self, $fh ) = @_;
- $self->{ParserOptions}{LibParser} = XML::LibXML->new;
- $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_fh;
- $self->{ParserOptions}{ParseFuncParam} = $fh;
- return $self->_parse;
-}
-
-sub _parse_string {
- my ( $self, $string ) = @_;
-# $self->{ParserOptions}{LibParser} = XML::LibXML->new;
- $self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser};
- $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_string;
- $self->{ParserOptions}{ParseFuncParam} = $string;
- return $self->_parse;
-}
-
-sub _parse_systemid {
- my $self = shift;
- $self->{ParserOptions}{LibParser} = XML::LibXML->new;
- $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_file;
- $self->{ParserOptions}{ParseFuncParam} = shift;
- return $self->_parse;
-}
-
-sub parse_chunk {
- my ( $self, $chunk ) = @_;
- $self->{ParserOptions}{LibParser} = XML::LibXML->new;
- $self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_xml_chunk;
- $self->{ParserOptions}{ParseFuncParam} = $chunk;
- return $self->_parse;
-}
-
-sub _parse {
- my $self = shift;
- my $args = bless $self->{ParserOptions}, ref($self);
-
- $args->{LibParser}->set_handler( $self );
- eval {
- $args->{ParseFunc}->($args->{LibParser}, $args->{ParseFuncParam});
- };
-
- if ( $args->{LibParser}->{SAX}->{State} == 1 ) {
- croak( "SAX Exception not implemented, yet; Data ended before document ended\n" );
- }
-
- # break a possible circular reference
- $args->{LibParser}->set_handler( undef );
- if ( $@ ) {
- croak $@;
- }
- return $self->end_document({});
-}
-
-
-1;
-
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod
deleted file mode 100644
index e9462136dea..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod
+++ /dev/null
@@ -1,46 +0,0 @@
-=head1 NAME
-
-XML::LibXML::SAX - XML::LibXML direct SAX parser
-
-
-=head1 DESCRIPTION
-
-XML::LibXML provides an interface to libxml2 direct SAX interface. Through this
-interface it is possible to generate SAX events directly while parsing a
-document. While using the SAX parser XML::LibXML will not create a DOM Document
-tree.
-
-Such an interface is useful if very large XML documents have to be processed
-and no DOM functions are required. By using this interface it is possible to
-read data stored within a XML document directly into the application data
-structures without loading the document into memory.
-
-The SAX interface of XML::LibXML is based on the famous XML::SAX interface. It
-uses the generic interface as provided by XML::SAX::Base.
-
-Additionally to the generic functions, which are only able to process entire
-documents, XML::LibXML::SAX provides I<<<<<< parse_chunk() >>>>>>. This method generates SAX events from well balanced data such as is often
-provided by databases.
-
-I<<<<<< NOTE: >>>>>> At the moment XML::LibXML provides only an incomplete interface to libxml2's
-native SAX implementation. The current implementation is not tested in
-production environment. It may causes significant memory problems or shows
-wrong behaviour. If you run into specific problems using this part of
-XML::LibXML, let me know.
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm
deleted file mode 100644
index 0c1691dc876..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm
+++ /dev/null
@@ -1,322 +0,0 @@
-# $Id: Builder.pm 709 2008-01-29 21:01:32Z pajas $
-
-package XML::LibXML::SAX::Builder;
-
-use XML::LibXML;
-use XML::NamespaceSupport;
-
-use vars qw ($VERSION);
-
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-
-sub new {
- my $class = shift;
- return bless {@_}, $class;
-}
-
-sub result { $_[0]->{LAST_DOM}; }
-
-sub done {
- my ($self) = @_;
- my $dom = $self->{DOM};
- $dom = $self->{Parent} unless defined $dom; # this is for parsing document chunks
-
- delete $self->{NamespaceStack};
- delete $self->{Parent};
- delete $self->{DOM};
-
- $self->{LAST_DOM} = $dom;
-
- return $dom;
-}
-
-sub set_document_locator {
-}
-
-sub start_dtd {
- my ($self, $dtd) = @_;
- if (defined $dtd->{Name} and
- (defined $dtd->{SystemID} or defined $dtd->{PublicID})) {
- $self->{DOM}->createExternalSubset($dtd->{Name},$dtd->{PublicID},$dtd->{SystemID});
- }
-}
-
-sub end_dtd {
-}
-
-sub start_document {
- my ($self, $doc) = @_;
-
- $self->{DOM} = XML::LibXML::Document->createDocument();
-
- if ( defined $self->{Encoding} ) {
- $self->xml_decl({Version => ($self->{Version} || '1.0') , Encoding => $self->{Encoding}});
- }
-
- $self->{NamespaceStack} = XML::NamespaceSupport->new;
- $self->{NamespaceStack}->push_context;
- $self->{Parent} = undef;
- return ();
-}
-
-sub xml_decl {
- my $self = shift;
- my $decl = shift;
-
- if ( defined $decl->{Version} ) {
- $self->{DOM}->setVersion( $decl->{Version} );
- }
- if ( defined $decl->{Encoding} ) {
- $self->{DOM}->setEncoding( $decl->{Encoding} );
- }
- return ();
-}
-
-sub end_document {
- my ($self, $doc) = @_;
- my $d = $self->done();
- return $d;
-}
-
-sub start_prefix_mapping {
- my $self = shift;
- my $ns = shift;
-
- unless ( defined $self->{DOM} or defined $self->{Parent} ) {
- $self->{Parent} = XML::LibXML::DocumentFragment->new();
- $self->{NamespaceStack} = XML::NamespaceSupport->new;
- $self->{NamespaceStack}->push_context;
- }
-
- $self->{USENAMESPACESTACK} = 1;
-
- $self->{NamespaceStack}->declare_prefix( $ns->{Prefix}, $ns->{NamespaceURI} );
- return ();
-}
-
-
-sub end_prefix_mapping {
- my $self = shift;
- my $ns = shift;
- $self->{NamespaceStack}->undeclare_prefix( $ns->{Prefix} );
- return ();
-}
-
-
-sub start_element {
- my ($self, $el) = @_;
- my $node;
-
- unless ( defined $self->{DOM} or defined $self->{Parent} ) {
- $self->{Parent} = XML::LibXML::DocumentFragment->new();
- $self->{NamespaceStack} = XML::NamespaceSupport->new;
- $self->{NamespaceStack}->push_context;
- }
-
- if ( defined $self->{Parent} ) {
- $el->{NamespaceURI} ||= "";
- $node = $self->{Parent}->addNewChild( $el->{NamespaceURI},
- $el->{Name} );
- }
- else {
- if ($el->{NamespaceURI}) {
- if ( defined $self->{DOM} ) {
- $node = $self->{DOM}->createRawElementNS($el->{NamespaceURI},
- $el->{Name});
- }
- else {
- $node = XML::LibXML::Element->new( $el->{Name} );
- $node->setNamespace( $el->{NamespaceURI},
- $el->{Prefix} , 1 );
- }
- }
- else {
- if ( defined $self->{DOM} ) {
- $node = $self->{DOM}->createRawElement($el->{Name});
- }
- else {
- $node = XML::LibXML::Element->new( $el->{Name} );
- }
- }
-
- $self->{DOM}->setDocumentElement($node);
- }
-
- # build namespaces
- my $skip_ns= 0;
- foreach my $p ( $self->{NamespaceStack}->get_declared_prefixes() ) {
- $skip_ns= 1;
- my $uri = $self->{NamespaceStack}->get_uri($p);
- my $nodeflag = 0;
- if ( defined $uri
- and defined $el->{NamespaceURI}
- and $uri eq $el->{NamespaceURI} ) {
- # $nodeflag = 1;
- next;
- }
- $node->setNamespace($uri, $p, 0 );
- }
-
- $self->{Parent} = $node;
-
- $self->{NamespaceStack}->push_context;
-
- # do attributes
- foreach my $key (keys %{$el->{Attributes}}) {
- my $attr = $el->{Attributes}->{$key};
- if (ref($attr)) {
- # catch broken name/value pairs
- next unless $attr->{Name} ;
- next if $self->{USENAMESPACESTACK}
- and ( $attr->{Name} eq "xmlns"
- or ( defined $attr->{Prefix}
- and $attr->{Prefix} eq "xmlns" ) );
-
-
- if ( defined $attr->{Prefix}
- and $attr->{Prefix} eq "xmlns" and $skip_ns == 0 ) {
- # ok, the generator does not set namespaces correctly!
- my $uri = $attr->{Value};
- $node->setNamespace($uri,
- $attr->{Localname},
- $uri eq $el->{NamespaceURI} ? 1 : 0 );
- }
- else {
- $node->setAttributeNS($attr->{NamespaceURI} || "",
- $attr->{Name}, $attr->{Value});
- }
- }
- else {
- $node->setAttribute($key => $attr);
- }
- }
- return ();
-}
-
-sub end_element {
- my ($self, $el) = @_;
- return unless $self->{Parent};
-
- $self->{NamespaceStack}->pop_context;
- $self->{Parent} = $self->{Parent}->parentNode();
- return ();
-}
-
-sub start_cdata {
- my $self = shift;
- $self->{IN_CDATA} = 1;
- return ();
-}
-
-sub end_cdata {
- my $self = shift;
- $self->{IN_CDATA} = 0;
- return ();
-}
-
-sub characters {
- my ($self, $chars) = @_;
- if ( not defined $self->{DOM} and not defined $self->{Parent} ) {
- $self->{Parent} = XML::LibXML::DocumentFragment->new();
- $self->{NamespaceStack} = XML::NamespaceSupport->new;
- $self->{NamespaceStack}->push_context;
- }
- return unless $self->{Parent};
- my $node;
-
- unless ( defined $chars and defined $chars->{Data} ) {
- return;
- }
-
- if ( defined $self->{DOM} ) {
- if ( defined $self->{IN_CDATA} and $self->{IN_CDATA} == 1 ) {
- $node = $self->{DOM}->createCDATASection($chars->{Data});
- }
- else {
- $node = $self->{Parent}->appendText($chars->{Data});
- return;
- }
- }
- elsif ( defined $self->{IN_CDATA} and $self->{IN_CDATA} == 1 ) {
- $node = XML::LibXML::CDATASection->new($chars->{Data});
- }
- else {
- $node = XML::LibXML::Text->new($chars->{Data});
- }
-
- $self->{Parent}->addChild($node);
- return ();
-}
-
-sub comment {
- my ($self, $chars) = @_;
- my $comment;
- if ( not defined $self->{DOM} and not defined $self->{Parent} ) {
- $self->{Parent} = XML::LibXML::DocumentFragment->new();
- $self->{NamespaceStack} = XML::NamespaceSupport->new;
- $self->{NamespaceStack}->push_context;
- }
-
- unless ( defined $chars and defined $chars->{Data} ) {
- return;
- }
-
- if ( defined $self->{DOM} ) {
- $comment = $self->{DOM}->createComment( $chars->{Data} );
- }
- else {
- $comment = XML::LibXML::Comment->new( $chars->{Data} );
- }
-
- if ( defined $self->{Parent} ) {
- $self->{Parent}->addChild($comment);
- }
- else {
- $self->{DOM}->addChild($comment);
- }
- return ();
-}
-
-sub processing_instruction {
- my ( $self, $pi ) = @_;
- my $PI;
- return unless defined $self->{DOM};
- $PI = $self->{DOM}->createPI( $pi->{Target}, $pi->{Data} );
-
- if ( defined $self->{Parent} ) {
- $self->{Parent}->addChild( $PI );
- }
- else {
- $self->{DOM}->addChild( $PI );
- }
- return ();
-}
-
-sub warning {
- my $self = shift;
- my $error = shift;
- # fill $@ but do not die seriously
- eval { $error->throw; };
-}
-
-sub error {
- my $self = shift;
- my $error = shift;
- delete $self->{NamespaceStack};
- delete $self->{Parent};
- delete $self->{DOM};
- $error->throw;
-}
-
-sub fatal_error {
- my $self = shift;
- my $error = shift;
- delete $self->{NamespaceStack};
- delete $self->{Parent};
- delete $self->{DOM};
- $error->throw;
-}
-
-1;
-
-__END__
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod
deleted file mode 100644
index 18891b4fa68..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod
+++ /dev/null
@@ -1,47 +0,0 @@
-=head1 NAME
-
-XML::LibXML::SAX::Builder - Building DOM trees from SAX events.
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML::SAX::Builder;
- my $builder = XML::LibXML::SAX::Builder->new();
-
- my $gen = XML::Generator::DBI->new(Handler => $builder, dbh => $dbh);
- $gen->execute("SELECT * FROM Users");
-
- my $doc = $builder->result();
-
-
-=head1 DESCRIPTION
-
-This is a SAX handler that generates a DOM tree from SAX events. Usage is as
-above. Input is accepted from any SAX1 or SAX2 event generator.
-
-Building DOM trees from SAX events is quite easy with
-XML::LibXML::SAX::Builder. The class is designed as a SAX2 final handler not as
-a filter!
-
-Since SAX is strictly stream oriented, you should not expect anything to return
-from a generator. Instead you have to ask the builder instance directly to get
-the document built. XML::LibXML::SAX::Builder's result() function holds the
-document generated from the last SAX stream.
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm
deleted file mode 100644
index 2854619cb50..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm
+++ /dev/null
@@ -1,146 +0,0 @@
-# $Id: Generator.pm 709 2008-01-29 21:01:32Z pajas $
-
-package XML::LibXML::SAX::Generator;
-
-use strict;
-
-use XML::LibXML;
-use vars qw ($VERSION);
-
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-
-warn("This class (", __PACKAGE__, ") is deprecated!");
-
-sub new {
- my $class = shift;
- unshift @_, 'Handler' unless @_ != 1;
- my %p = @_;
- return bless \%p, $class;
-}
-
-sub generate {
- my $self = shift;
- my ($node) = @_;
-
- my $document = { Parent => undef };
- $self->{Handler}->start_document($document);
-
- process_node($self->{Handler}, $node);
-
- $self->{Handler}->end_document($document);
-}
-
-sub process_node {
- my ($handler, $node) = @_;
-
- my $node_type = $node->getType();
- if ($node_type == XML_COMMENT_NODE) {
- $handler->comment( { Data => $node->getData } );
- }
- elsif ($node_type == XML_TEXT_NODE || $node_type == XML_CDATA_SECTION_NODE) {
- # warn($node->getData . "\n");
- $handler->characters( { Data => $node->getData } );
- }
- elsif ($node_type == XML_ELEMENT_NODE) {
- # warn("<" . $node->getName . ">\n");
- process_element($handler, $node);
- # warn("</" . $node->getName . ">\n");
- }
- elsif ($node_type == XML_ENTITY_REF_NODE) {
- foreach my $kid ($node->getChildnodes) {
- # warn("child of entity ref: " . $kid->getType() . " called: " . $kid->getName . "\n");
- process_node($handler, $kid);
- }
- }
- elsif ($node_type == XML_DOCUMENT_NODE) {
- # just get root element. Ignore other cruft.
- foreach my $kid ($node->getChildnodes) {
- if ($kid->getType() == XML_ELEMENT_NODE) {
- process_element($handler, $kid);
- last;
- }
- }
- }
- else {
- warn("unknown node type: $node_type");
- }
-}
-
-sub process_element {
- my ($handler, $element) = @_;
-
- my @attr;
-
- foreach my $attr ($element->getAttributes) {
- push @attr, XML::LibXML::SAX::AttributeNode->new(
- Name => $attr->getName,
- Value => $attr->getData,
- NamespaceURI => $attr->getNamespaceURI,
- Prefix => $attr->getPrefix,
- LocalName => $attr->getLocalName,
- );
- }
-
- my $node = {
- Name => $element->getName,
- Attributes => { map { $_->{Name} => $_ } @attr },
- NamespaceURI => $element->getNamespaceURI,
- Prefix => $element->getPrefix,
- LocalName => $element->getLocalName,
- };
-
- $handler->start_element($node);
-
- foreach my $child ($element->getChildnodes) {
- process_node($handler, $child);
- }
-
- $handler->end_element($node);
-}
-
-package XML::LibXML::SAX::AttributeNode;
-
-use overload '""' => "stringify";
-
-sub new {
- my $class = shift;
- my %p = @_;
- return bless \%p, $class;
-}
-
-sub stringify {
- my $self = shift;
- return $self->{Value};
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-XML::LibXML::SAX::Generator - Generate SAX events from a LibXML tree
-
-=head1 SYNOPSIS
-
- my $handler = MySAXHandler->new();
- my $generator = XML::LibXML::SAX::Generator->new(Handler => $handler);
- my $dom = XML::LibXML->new->parse_file("foo.xml");
-
- $generator->generate($dom);
-
-=head1 DESCRIPTION
-
-THIS CLASS IS DEPRACED! Use XML::LibXML::SAX::Parser instead!
-
-This helper class allows you to generate SAX events from any XML::LibXML
-node, and all it's sub-nodes. This basically gives you interop from
-XML::LibXML to other modules that may implement SAX.
-
-It uses SAX2 style, but should be compatible with anything SAX1, by use
-of stringification overloading.
-
-There is nothing to really know about, beyond the synopsis above, and
-a general knowledge of how to use SAX, which is beyond the scope here.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm
deleted file mode 100644
index 40137cb7c95..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm
+++ /dev/null
@@ -1,254 +0,0 @@
-# $Id: Parser.pm 709 2008-01-29 21:01:32Z pajas $
-
-package XML::LibXML::SAX::Parser;
-
-use strict;
-use vars qw($VERSION @ISA);
-
-use XML::LibXML;
-use XML::LibXML::Common qw(:libxml);
-use XML::SAX::Base;
-use XML::SAX::DocumentLocator;
-
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-@ISA = ('XML::SAX::Base');
-
-sub _parse_characterstream {
- my ($self, $fh, $options) = @_;
- die "parsing a characterstream is not supported at this time";
-}
-
-sub _parse_bytestream {
- my ($self, $fh, $options) = @_;
- my $parser = XML::LibXML->new();
- my $doc = exists($options->{Source}{SystemId}) ? $parser->parse_fh($fh, $options->{Source}{SystemId}) : $parser->parse_fh($fh);
- $self->generate($doc);
-}
-
-sub _parse_string {
- my ($self, $str, $options) = @_;
- my $parser = XML::LibXML->new();
- my $doc = exists($options->{Source}{SystemId}) ? $parser->parse_string($str, $options->{Source}{SystemId}) : $parser->parse_string($str);
- $self->generate($doc);
-}
-
-sub _parse_systemid {
- my ($self, $sysid, $options) = @_;
- my $parser = XML::LibXML->new();
- my $doc = $parser->parse_file($sysid);
- $self->generate($doc);
-}
-
-sub generate {
- my $self = shift;
- my ($node) = @_;
-
- my $doc = $node->ownerDocument();
- {
- # precompute some DocumentLocator values
- my %locator = (
- PublicId => undef,
- SystemId => undef,
- Encoding => undef,
- XMLVersion => undef,
- );
- my $dtd = defined $doc ? $doc->externalSubset() : undef;
- if (defined $dtd) {
- $locator{PublicId} = $dtd->publicId();
- $locator{SystemId} = $dtd->systemId();
- }
- if (defined $doc) {
- $locator{Encoding} = $doc->encoding();
- $locator{XMLVersion} = $doc->version();
- }
- $self->set_document_locator(
- XML::SAX::DocumentLocator->new(
- sub { $locator{PublicId} },
- sub { $locator{SystemId} },
- sub { defined($self->{current_node}) ? $self->{current_node}->line_number() : undef },
- sub { 1 },
- sub { $locator{Encoding} },
- sub { $locator{XMLVersion} },
- ),
- );
- }
-
- if ( $node->nodeType() == XML_DOCUMENT_NODE
- || $node->nodeType == XML_HTML_DOCUMENT_NODE ) {
- $self->start_document({});
- $self->xml_decl({Version => $node->getVersion, Encoding => $node->getEncoding});
- $self->process_node($node);
- $self->end_document({});
- }
-}
-
-sub process_node {
- my ($self, $node) = @_;
-
- local $self->{current_node} = $node;
-
- my $node_type = $node->nodeType();
- if ($node_type == XML_COMMENT_NODE) {
- $self->comment( { Data => $node->getData } );
- }
- elsif ($node_type == XML_TEXT_NODE
- || $node_type == XML_CDATA_SECTION_NODE) {
- # warn($node->getData . "\n");
- $self->characters( { Data => $node->nodeValue } );
- }
- elsif ($node_type == XML_ELEMENT_NODE) {
- # warn("<" . $node->getName . ">\n");
- $self->process_element($node);
- # warn("</" . $node->getName . ">\n");
- }
- elsif ($node_type == XML_ENTITY_REF_NODE) {
- foreach my $kid ($node->childNodes) {
- # warn("child of entity ref: " . $kid->getType() . " called: " . $kid->getName . "\n");
- $self->process_node($kid);
- }
- }
- elsif ($node_type == XML_DOCUMENT_NODE
- || $node_type == XML_HTML_DOCUMENT_NODE
- || $node_type == XML_DOCUMENT_FRAG_NODE) {
- # some times it is just usefull to generate SAX events from
- # a document fragment (very good with filters).
- foreach my $kid ($node->childNodes) {
- $self->process_node($kid);
- }
- }
- elsif ($node_type == XML_PI_NODE) {
- $self->processing_instruction( { Target => $node->getName, Data => $node->getData } );
- }
- elsif ($node_type == XML_COMMENT_NODE) {
- $self->comment( { Data => $node->getData } );
- }
- elsif ( $node_type == XML_XINCLUDE_START
- || $node_type == XML_XINCLUDE_END ) {
- # ignore!
- # i may want to handle this one day, dunno yet
- }
- elsif ($node_type == XML_DTD_NODE ) {
- # ignore!
- # i will support DTDs, but had no time yet.
- }
- else {
- # warn("unsupported node type: $node_type");
- }
-
-}
-
-sub process_element {
- my ($self, $element) = @_;
-
- my $attribs = {};
- my @ns_maps = $element->getNamespaces;
-
- foreach my $ns (@ns_maps) {
- $self->start_prefix_mapping(
- {
- NamespaceURI => $ns->href,
- Prefix => ( defined $ns->localname ? $ns->localname : ''),
- }
- );
- }
-
- foreach my $attr ($element->attributes) {
- my $key;
- # warn("Attr: $attr -> ", $attr->getName, " = ", $attr->getData, "\n");
- # this isa dump thing...
- if ($attr->isa('XML::LibXML::Namespace')) {
- # TODO This needs fixing modulo agreeing on what
- # is the right thing to do here.
- unless ( defined $attr->name ) {
- ## It's an atter like "xmlns='foo'"
- $attribs->{"{}xmlns"} =
- {
- Name => "xmlns",
- LocalName => "xmlns",
- Prefix => "",
- Value => $attr->href,
- NamespaceURI => "",
- };
- }
- else {
- my $prefix = "xmlns";
- my $localname = $attr->localname;
- my $key = "{http://www.w3.org/2000/xmlns/}";
- my $name = "xmlns";
-
- if ( defined $localname ) {
- $key .= $localname;
- $name.= ":".$localname;
- }
-
- $attribs->{$key} =
- {
- Name => $name,
- Value => $attr->href,
- NamespaceURI => "http://www.w3.org/2000/xmlns/",
- Prefix => $prefix,
- LocalName => $localname,
- };
- }
- }
- else {
- my $ns = $attr->namespaceURI;
-
- $ns = '' unless defined $ns;
- $key = "{$ns}".$attr->localname;
- ## Not sure why, but $attr->name is coming through stripped
- ## of its prefix, so we need to hand-assemble a real name.
- my $name = $attr->name;
- $name = "" unless defined $name;
-
- my $prefix = $attr->prefix;
- $prefix = "" unless defined $prefix;
- $name = "$prefix:$name"
- if index( $name, ":" ) < 0 && length $prefix;
-
- $attribs->{$key} =
- {
- Name => $name,
- Value => $attr->value,
- NamespaceURI => $ns,
- Prefix => $prefix,
- LocalName => $attr->localname,
- };
- }
- # use Data::Dumper;
- # warn("Attr made: ", Dumper($attribs->{$key}), "\n");
- }
-
- my $node = {
- Name => $element->nodeName,
- Attributes => $attribs,
- NamespaceURI => $element->namespaceURI,
- Prefix => $element->prefix || "",
- LocalName => $element->localname,
- };
-
- $self->start_element($node);
-
- foreach my $child ($element->childNodes) {
- $self->process_node($child);
- }
-
- my $end_node = { %$node };
-
- delete $end_node->{Attributes};
-
- $self->end_element($end_node);
-
- foreach my $ns (@ns_maps) {
- $self->end_prefix_mapping(
- {
- NamespaceURI => $ns->href,
- Prefix => ( defined $ns->localname ? $ns->localname : ''),
- }
- );
- }
-}
-
-1;
-
-__END__
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod
deleted file mode 100644
index 107301612bf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod
+++ /dev/null
@@ -1,73 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Schema - XML Schema Validation
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- $doc = XML::LibXML->new->parse_file($url);
-
- $xmlschema = XML::LibXML::Schema->new( location => $filename_or_url );
- $xmlschema = XML::LibXML::Schema->new( string => $xmlschemastring );
- eval { $xmlschema->validate( $doc ); };
-
-=head1 DESCRIPTION
-
-The XML::LibXML::Schema class is a tiny frontend to libxml2's XML Schema
-implementation. Currently it supports only schema parsing and document
-validation.
-
-
-=head1 METHODS
-
-=over 4
-
-=item B<new>
-
- $xmlschema = XML::LibXML::Schema->new( location => $filename_or_url );
- $xmlschema = XML::LibXML::Schema->new( string => $xmlschemastring );
-
-The constructor of XML::LibXML::Schema may get called with either one of two
-parameters. The parameter tells the class from which source it should generate
-a validation schema. It is important, that each schema only have a single
-source.
-
-The location parameter allows to parse a schema from the filesystem or a URL.
-
-The string parameter will parse the schema from the given XML string.
-
-Note that the constructor will die() if the schema does not meed the
-constraints of the XML Schema specification.
-
-
-=item B<validate>
-
- eval { $xmlschema->validate( $doc ); };
-
-This function allows to validate a (parsed) document against the given XML
-Schema. The argument of this function should be a L<<<<<< XML::LibXML DOM Document Class|XML::LibXML DOM Document Class >>>>>> object. If this function succeeds, it will return 0, otherwise it will die()
-and report the errors found. Because of this validate() should be always
-evaluated.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod
deleted file mode 100644
index 98c741489aa..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod
+++ /dev/null
@@ -1,179 +0,0 @@
-=head1 NAME
-
-XML::LibXML::Text - XML::LibXML Class for Text Nodes
-
-=head1 SYNOPSIS
-
-
-
- use XML::LibXML;
- # Only methods specific to Text nodes are listed here,
- # see XML::LibXML::Node manpage for other methods
-
- $text = XML::LibXML::Text->new( $content );
- $nodedata = $text->data;
- $text->setData( $text_content );
- $text->substringData($offset, $length);
- $text->appendData( $somedata );
- $text->insertData($offset, $string);
- $text->deleteData($offset, $length);
- $text->deleteDataString($remstring, $all);
- $text->replaceData($offset, $length, $string);
- $text->replaceDataString($old, $new, $flag);
- $text->replaceDataRegEx( $search_cond, $replace_cond, $reflags );
-
-=head1 DESCRIPTION
-
-Unlike the DOM specification, XML::LibXML implements the text node as the base
-class of all character data node. Therefor there exists no CharacterData class.
-This allows one to apply methods of text nodes also to Comments and
-CDATA-sections.
-
-
-=head1 METHODS
-
-The class inherits from L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>>. The documentation for Inherited methods is not listed here.
-
-Many functions listed here are extensively documented in the L<<<<<< DOM Level 3 specification|http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>. Please refer to the specification for extensive documentation.
-
-=over 4
-
-=item B<new>
-
- $text = XML::LibXML::Text->new( $content );
-
-The constructor of the class. It creates an unbound text node.
-
-
-=item B<data>
-
- $nodedata = $text->data;
-
-Although there exists the C<<<<<< nodeValue >>>>>> attribute in the Node class, the DOM specification defines data as a separate
-attribute. C<<<<<< XML::LibXML >>>>>> implements these two attributes not as different attributes, but as aliases,
-such as C<<<<<< libxml2 >>>>>> does. Therefore
-
-
-
- $text->data;
-
-and
-
-
-
- $text->nodeValue;
-
-will have the same result and are not different entities.
-
-
-=item B<setData($string)>
-
- $text->setData( $text_content );
-
-This function sets or replaces text content to a node. The node has to be of
-the type "text", "cdata" or "comment".
-
-
-=item B<substringData($offset,$length)>
-
- $text->substringData($offset, $length);
-
-Extracts a range of data from the node. (DOM Spec) This function takes the two
-parameters $offset and $length and returns the sub-string, if available.
-
-If the node contains no data or $offset refers to an non-existing string index,
-this function will return I<<<<<< undef >>>>>>. If $length is out of range C<<<<<< substringData >>>>>> will return the data starting at $offset instead of causing an error.
-
-
-=item B<appendData($string)>
-
- $text->appendData( $somedata );
-
-Appends a string to the end of the existing data. If the current text node
-contains no data, this function has the same effect as C<<<<<< setData >>>>>>.
-
-
-=item B<insertData($offset,$string)>
-
- $text->insertData($offset, $string);
-
-Inserts the parameter $string at the given $offset of the existing data of the
-node. This operation will not remove existing data, but change the order of the
-existing data.
-
-The $offset has to be a positive value. If $offset is out of range, C<<<<<< insertData >>>>>> will have the same behaviour as C<<<<<< appendData >>>>>>.
-
-
-=item B<deleteData($offset, $length)>
-
- $text->deleteData($offset, $length);
-
-This method removes a chunk from the existing node data at the given offset.
-The $length parameter tells, how many characters should be removed from the
-string.
-
-
-=item B<deleteDataString($string, [$all])>
-
- $text->deleteDataString($remstring, $all);
-
-This method removes a chunk from the existing node data. Since the DOM spec is
-quite unhandy if you already know C<<<<<< which >>>>>> string to remove from a text node, this method allows more perlish code :)
-
-The functions takes two parameters: I<<<<<< $string >>>>>> and optional the I<<<<<< $all >>>>>> flag. If $all is not set, I<<<<<< undef >>>>>> or I<<<<<< 0 >>>>>>, C<<<<<< deleteDataString >>>>>> will remove only the first occurrence of $string. If $all is I<<<<<< TRUE >>>>>>C<<<<<< deleteDataString >>>>>> will remove all occurrences of I<<<<<< $string >>>>>> from the node data.
-
-
-=item B<replaceData($offset, $length, $string)>
-
- $text->replaceData($offset, $length, $string);
-
-The DOM style version to replace node data.
-
-
-=item B<replaceDataString($oldstring, $newstring, [$all])>
-
- $text->replaceDataString($old, $new, $flag);
-
-The more programmer friendly version of replaceData() :)
-
-Instead of giving offsets and length one can specify the exact string (I<<<<<< $oldstring >>>>>>) to be replaced. Additionally the I<<<<<< $all >>>>>> flag allows to replace all occurrences of I<<<<<< $oldstring >>>>>>.
-
-
-=item B<replaceDataRegEx( $search_cond, $replace_cond, $reflags )>
-
- $text->replaceDataRegEx( $search_cond, $replace_cond, $reflags );
-
-This method replaces the node's data by a C<<<<<< simple >>>>>> regular expression. Optional, this function allows to pass some flags that will
-be added as flag to the replace statement.
-
-I<<<<<< NOTE: >>>>>> This is a shortcut for
-
-
-
- my $datastr = $node->getData();
- $datastr =~ s/somecond/replacement/g; # 'g' is just an example for any flag
- $node->setData( $datastr );
-
-This function can make things easier to read for simple replacements. For more
-complex variants it is recommended to use the code snippet above.
-
-
-
-=back
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm
deleted file mode 100644
index 903a260e2d5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm
+++ /dev/null
@@ -1,131 +0,0 @@
-# $Id: XPathContext.pm 422 2002-11-08 17:10:30Z phish $
-
-package XML::LibXML::XPathContext;
-
-use strict;
-use vars qw($VERSION @ISA $USE_LIBXML_DATA_TYPES);
-
-use Carp;
-use XML::LibXML;
-use XML::LibXML::NodeList;
-
-$VERSION = "1.66"; # VERSION TEMPLATE: DO NOT CHANGE
-
-# should LibXML XPath data types be used for simple objects
-# when passing parameters to extension functions (default: no)
-$USE_LIBXML_DATA_TYPES = 0;
-
-sub findnodes {
- my ($self, $xpath, $node) = @_;
-
- my @nodes = $self->_guarded_find_call('_findnodes', $xpath, $node);
-
- if (wantarray) {
- return @nodes;
- }
- else {
- return XML::LibXML::NodeList->new(@nodes);
- }
-}
-
-sub find {
- my ($self, $xpath, $node) = @_;
-
- my ($type, @params) = $self->_guarded_find_call('_find', $xpath, $node);
-
- if ($type) {
- return $type->new(@params);
- }
- return undef;
-}
-
-sub findvalue {
- my $self = shift;
- return $self->find(@_)->to_literal->value;
-}
-
-sub _guarded_find_call {
- my ($self, $method, $xpath, $node) = @_;
-
- my $prev_node;
- if (ref($node)) {
- $prev_node = $self->getContextNode();
- $self->setContextNode($node);
- }
- my @ret;
- eval {
- @ret = $self->$method($xpath);
- };
- $self->_free_node_pool;
- $self->setContextNode($prev_node) if ref($node);
-
- if ($@) {
- my $err = $@;
- chomp $err;
- croak $err;
- }
-
- return @ret;
-}
-
-sub registerFunction {
- my ($self, $name, $sub) = @_;
- $self->registerFunctionNS($name, undef, $sub);
- return;
-}
-
-sub unregisterNs {
- my ($self, $prefix) = @_;
- $self->registerNs($prefix, undef);
- return;
-}
-
-sub unregisterFunction {
- my ($self, $name) = @_;
- $self->registerFunctionNS($name, undef, undef);
- return;
-}
-
-sub unregisterFunctionNS {
- my ($self, $name, $ns) = @_;
- $self->registerFunctionNS($name, $ns, undef);
- return;
-}
-
-sub unregisterVarLookupFunc {
- my ($self) = @_;
- $self->registerVarLookupFunc(undef, undef);
- return;
-}
-
-# extension function perl dispatcher
-# borrowed from XML::LibXSLT
-
-sub _perl_dispatcher {
- my $func = shift;
- my @params = @_;
- my @perlParams;
-
- my $i = 0;
- while (@params) {
- my $type = shift(@params);
- if ($type eq 'XML::LibXML::Literal' or
- $type eq 'XML::LibXML::Number' or
- $type eq 'XML::LibXML::Boolean')
- {
- my $val = shift(@params);
- unshift(@perlParams, $USE_LIBXML_DATA_TYPES ? $type->new($val) : $val);
- }
- elsif ($type eq 'XML::LibXML::NodeList') {
- my $node_count = shift(@params);
- unshift(@perlParams, $type->new(splice(@params, 0, $node_count)));
- }
- }
-
- $func = "main::$func" unless ref($func) || $func =~ /(.+)::/;
- no strict 'refs';
- my $res = $func->(@perlParams);
- return $res;
-}
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod
deleted file mode 100644
index 328c88a2ec3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod
+++ /dev/null
@@ -1,349 +0,0 @@
-=head1 NAME
-
-XML::LibXML::XPathContext - XPath Evaluation
-
-=head1 SYNOPSIS
-
- my $xpc = XML::LibXML::XPathContext->new();
- my $xpc = XML::LibXML::XPathContext->new($node);
- $xpc->registerNs($prefix, $namespace_uri)
- $xpc->unregisterNs($prefix)
- $uri = $xpc->lookupNs($prefix)
- $xpc->registerVarLookupFunc($callback, $data)
- $data = $xpc->getVarLookupData();
- $callback = $xpc->getVarLookupFunc();
- $xpc->unregisterVarLookupFunc($name);
- $xpc->registerFunctionNS($name, $uri, $callback)
- $xpc->unregisterFunctionNS($name, $uri)
- $xpc->registerFunction($name, $callback)
- $xpc->unregisterFunction($name)
- @nodes = $xpc->findnodes($xpath)
- @nodes = $xpc->findnodes($xpath, $context_node )
- $nodelist = $xpc->findnodes($xpath, $context_node )
- $object = $xpc->find($xpath )
- $object = $xpc->find($xpath, $context_node )
- $value = $xpc->findvalue($xpath )
- $value = $xpc->findvalue($xpath, $context_node )
- $xpc->setContextNode($node)
- my $node = $xpc->getContextNode;
- $xpc->setContextPosition($position)
- my $position = $xpc->getContextPosition;
- $xpc->setContextSize($size)
- my $size = $xpc->getContextSize;
- $xpc->setContextNode($node)
-The XML::LibXML::XPathContext class provides an almost complete interface to
-libxml2's XPath implementation. With XML::LibXML::XPathContext is is possible
-to evaluate XPath expressions in the context of arbitrary node, context size,
-and context position, with a user-defined namespace-prefix mapping, custom
-XPath functions written in Perl, and even a custom XPath variable resolver.
-
-
-=head1 EXAMPLES
-
-
-=head2 Namespaces
-
-This example demonstrates C<<<<<< registerNs() >>>>>> method. It finds all paragraph nodes in an XHTML document.
-
-
-
- my $xc = XML::LibXML::XPathContext->new($xhtml_doc);
- $xc->registerNs('xhtml', 'http://www.w3.org/1999/xhtml');
- my @nodes = $xc->findnodes('//xhtml:p');
-
-
-=head2 Custom XPath functions
-
-This example demonstrates C<<<<<< registerFunction() >>>>>> method by defining a function filtering nodes based on a Perl regular
-expression:
-
-
-
- sub grep_nodes {
- my ($nodelist,$regexp) = @_;
- my $result = XML::LibXML::NodeList->new;
- for my $node ($nodelist->get_nodelist()) {
- $result->push($node) if $node->textContent =~ $regexp;
- }
- return $result;
- };
-
- my $xc = XML::LibXML::XPathContext->new($node);
- $xc->registerFunction('grep_nodes', \&grep_nodes);
- my @nodes = $xc->findnodes('//section[grep_nodes(para,"\bsearch(ing|es)?\b")]');
-
-
-=head2 Variables
-
-This example demonstrates C<<<<<< registerVarLookup() >>>>>> method. We use XPath variables to recycle results of previous evaluations:
-
-
-
- sub var_lookup {
- my ($varname,$ns,$data)=@_;
- return $data->{$varname};
- }
-
- my $areas = XML::LibXML->new->parse_file('areas.xml');
- my $empl = XML::LibXML->new->parse_file('employees.xml');
-
- my $xc = XML::LibXML::XPathContext->new($empl);
-
- my %variables = (
- A => $xc->find('/employees/employee[@salary>10000]'),
- B => $areas->find('/areas/area[district='Brooklyn']/street'),
- );
-
- # get names of employees from $A working in an area listed in $B
- $xc->registerVarLookupFunc(\&var_lookup, \%variables);
- my @nodes = $xc->findnodes('$A[work_area/street = $B]/name');
-
-
-=head1 METHODS
-
-=over 4
-
-=item B<new>
-
- my $xpc = XML::LibXML::XPathContext->new();
-
-Creates a new XML::LibXML::XPathContext object without a context node.
-
- my $xpc = XML::LibXML::XPathContext->new($node);
-
-Creates a new XML::LibXML::XPathContext object with the context node set to C<<<<<< $node >>>>>>.
-
-
-=item B<registerNs>
-
- $xpc->registerNs($prefix, $namespace_uri)
-
-Registers namespace C<<<<<< $prefix >>>>>> to C<<<<<< $namespace_uri >>>>>>.
-
-
-=item B<unregisterNs>
-
- $xpc->unregisterNs($prefix)
-
-Unregisters namespace C<<<<<< $prefix >>>>>>.
-
-
-=item B<lookupNs>
-
- $uri = $xpc->lookupNs($prefix)
-
-Returns namespace URI registered with C<<<<<< $prefix >>>>>>. If C<<<<<< $prefix >>>>>> is not registered to any namespace URI returns C<<<<<< undef >>>>>>.
-
-
-=item B<registerVarLookupFunc>
-
- $xpc->registerVarLookupFunc($callback, $data)
-
-Registers variable lookup function C<<<<<< $prefix >>>>>>. The registered function is executed by the XPath engine each time an XPath
-variable is evaluated. It takes three arguments: C<<<<<< $data >>>>>>, variable name, and variable ns-URI and must return one value: a number or
-string or any C<<<<<< XML::LibXML:: >>>>>> object that can be a result of findnodes: Boolean, Literal, Number, Node (e.g.
-Document, Element, etc.), or NodeList. For convenience, simple (non-blessed)
-array references containing only L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> objects can be used instead of a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>>.
-
-
-=item B<getVarLookupData>
-
- $data = $xpc->getVarLookupData();
-
-Returns the data that have been associated with a variable lookup function
-during a previous call to C<<<<<< registerVarLookupFunc >>>>>>.
-
-
-=item B<getVarLookupFunc>
-
- $callback = $xpc->getVarLookupFunc();
-
-Returns the variable lookup function previously registered with C<<<<<< registerVarLookupFunc >>>>>>.
-
-
-=item B<unregisterVarLookupFunc>
-
- $xpc->unregisterVarLookupFunc($name);
-
-Unregisters variable lookup function and the associated lookup data.
-
-
-=item B<registerFunctionNS>
-
- $xpc->registerFunctionNS($name, $uri, $callback)
-
-Registers an extension function C<<<<<< $name >>>>>> in C<<<<<< $uri >>>>>> namespace. C<<<<<< $callback >>>>>> must be a CODE reference. The arguments of the callback function are either
-simple scalars or C<<<<<< XML::LibXML::* >>>>>> objects depending on the XPath argument types. The function is responsible for
-checking the argument number and types. Result of the callback code must be a
-single value of the following types: a simple scalar (number, string) or an
-arbitrary C<<<<<< XML::LibXML::* >>>>>> object that can be a result of findnodes: Boolean, Literal, Number, Node (e.g.
-Document, Element, etc.), or NodeList. For convenience, simple (non-blessed)
-array references containing only L<<<<<< Abstract Base Class of XML::LibXML Nodes|Abstract Base Class of XML::LibXML Nodes >>>>>> objects can be used instead of a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>>.
-
-
-=item B<unregisterFunctionNS>
-
- $xpc->unregisterFunctionNS($name, $uri)
-
-Unregisters extension function C<<<<<< $name >>>>>> in C<<<<<< $uri >>>>>> namespace. Has the same effect as passing C<<<<<< undef >>>>>> as C<<<<<< $callback >>>>>> to registerFunctionNS.
-
-
-=item B<registerFunction>
-
- $xpc->registerFunction($name, $callback)
-
-Same as C<<<<<< registerFunctionNS >>>>>> but without a namespace.
-
-
-=item B<unregisterFunction>
-
- $xpc->unregisterFunction($name)
-
-Same as C<<<<<< unregisterFunctionNS >>>>>> but without a namespace.
-
-
-=item B<findnodes>
-
- @nodes = $xpc->findnodes($xpath)
-
- @nodes = $xpc->findnodes($xpath, $context_node )
-
- $nodelist = $xpc->findnodes($xpath, $context_node )
-
-Performs the xpath statement on the current node and returns the result as an
-array. In scalar context returns a L<<<<<< XML::LibXML::NodeList|XML::LibXML::NodeList >>>>>> object. Optionally, a node may be passed as a second argument to set the
-context node for the query.
-
-
-=item B<find>
-
- $object = $xpc->find($xpath )
-
- $object = $xpc->find($xpath, $context_node )
-
-Performs the xpath expression using the current node as the context of the
-expression, and returns the result depending on what type of result the XPath
-expression had. For example, the XPath C<<<<<< 1 * 3 + 52 >>>>>> results in a L<<<<<< XML::LibXML::Number|XML::LibXML::Number >>>>>> object being returned. Other expressions might return a L<<<<<< XML::LibXML::Boolean|XML::LibXML::Boolean >>>>>> object, or a L<<<<<< XML::LibXML::Literal|XML::LibXML::Literal >>>>>> object (a string). Each of those objects uses Perl's overload feature to ``do
-the right thing'' in different contexts. Optionally, a node may be passed as a
-second argument to set the context node for the query.
-
-
-=item B<findvalue>
-
- $value = $xpc->findvalue($xpath )
-
- $value = $xpc->findvalue($xpath, $context_node )
-
-Is exactly equivalent to:
-
-
-
- $node->find( $xpath )->to_literal;
-
-That is, it returns the literal value of the results. This enables you to
-ensure that you get a string back from your search, allowing certain shortcuts.
-This could be used as the equivalent of <xsl:value-of select=``some_xpath''/>.
-Optionally, a node may be passed in the second argument to set the context node
-for the query.
-
-
-=item B<setContextNode>
-
- $xpc->setContextNode($node)
-
-Set the current context node.
-
-
-=item B<getContextNode>
-
- my $node = $xpc->getContextNode;
-
-Get the current context node.
-
-
-=item B<setContextPosition>
-
- $xpc->setContextPosition($position)
-
-Set the current context position. By default, this value is -1 (and evaluating
-XPath function C<<<<<< position() >>>>>> in the initial context raises an XPath error), but can be set to any value up
-to context size. This usually only serves to cheat the XPath engine to return
-given position when C<<<<<< position() >>>>>> XPath function is called. Setting this value to -1 restores the default
-behavior.
-
-
-=item B<getContextPosition>
-
- my $position = $xpc->getContextPosition;
-
-Get the current context position.
-
-
-=item B<setContextSize>
-
- $xpc->setContextSize($size)
-
-Set the current context size. By default, this value is -1 (and evaluating
-XPath function C<<<<<< last() >>>>>> in the initial context raises an XPath error), but can be set to any
-non-negative value. This usually only serves to cheat the XPath engine to
-return the given value when C<<<<<< last() >>>>>> XPath function is called. If context size is set to 0, position is
-automatically also set to 0. If context size is positive, position is
-automatically set to 1. Setting context size to -1 restores the default
-behavior.
-
-
-=item B<getContextSize>
-
- my $size = $xpc->getContextSize;
-
-Get the current context size.
-
-
-=item B<setContextNode>
-
- $xpc->setContextNode($node)
-
-Set the current context node.
-
-
-
-=back
-
-
-=head1 BUGS AND CAVEATS
-
-XML::LibXML::XPathContext objects I<<<<<< are >>>>>> reentrant, meaning that you can call methods of an XML::LibXML::XPathContext
-even from XPath extension functions registered with the same object or from a
-variable lookup function. On the other hand, you should rather avoid
-registering new extension functions, namespaces and a variable lookup function
-from within extension functions and a variable lookup function, unless you want
-to experience untested behavior.
-
-
-=head1 AUTHORS
-
-Ilya Martynov and Petr Pajas, based on XML::LibXML and XML::LibXSLT code by
-Matt Sergeant and Christian Glahn.
-
-
-=head1 HISTORICAL REMARK
-
-Prior to XML::LibXML 1.61 this module was distributed separately for
-maintenance reasons.
-
-=head1 AUTHORS
-
-Matt Sergeant,
-Christian Glahn,
-Petr Pajas
-
-
-=head1 VERSION
-
-1.66
-
-=head1 COPYRIGHT
-
-2001-2007, AxKit.com Ltd; 2002-2006 Christian Glahn; 2006-2008 Petr Pajas, All rights reserved.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm
deleted file mode 100644
index 064b021ec5b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm
+++ /dev/null
@@ -1,840 +0,0 @@
-# XML::Parser
-#
-# Copyright (c) 1998-2000 Larry Wall and Clark Cooper
-# All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package XML::Parser;
-
-use Carp;
-
-BEGIN {
- require XML::Parser::Expat;
- $VERSION = '2.36';
- die "Parser.pm and Expat.pm versions don't match"
- unless $VERSION eq $XML::Parser::Expat::VERSION;
-}
-
-use strict;
-
-use vars qw($VERSION $LWP_load_failed);
-
-$LWP_load_failed = 0;
-
-sub new {
- my ($class, %args) = @_;
- my $style = $args{Style};
-
- my $nonexopt = $args{Non_Expat_Options} ||= {};
-
- $nonexopt->{Style} = 1;
- $nonexopt->{Non_Expat_Options} = 1;
- $nonexopt->{Handlers} = 1;
- $nonexopt->{_HNDL_TYPES} = 1;
- $nonexopt->{NoLWP} = 1;
-
- $args{_HNDL_TYPES} = {%XML::Parser::Expat::Handler_Setters};
- $args{_HNDL_TYPES}->{Init} = 1;
- $args{_HNDL_TYPES}->{Final} = 1;
-
- $args{Handlers} ||= {};
- my $handlers = $args{Handlers};
-
- if (defined($style)) {
- my $stylepkg = $style;
-
- if ($stylepkg !~ /::/) {
- $stylepkg = "\u$style";
-
- eval {
- my $fullpkg = 'XML::Parser::Style::' . $stylepkg;
- my $stylefile = $fullpkg;
- $stylefile =~ s/::/\//g;
- require "$stylefile.pm";
- $stylepkg = $fullpkg;
- };
- if ($@) {
- # fallback to old behaviour
- $stylepkg = 'XML::Parser::' . $stylepkg;
- }
- }
-
- my $htype;
- foreach $htype (keys %{$args{_HNDL_TYPES}}) {
- # Handlers explicity given override
- # handlers from the Style package
- unless (defined($handlers->{$htype})) {
-
- # A handler in the style package must either have
- # exactly the right case as the type name or a
- # completely lower case version of it.
-
- my $hname = "${stylepkg}::$htype";
- if (defined(&$hname)) {
- $handlers->{$htype} = \&$hname;
- next;
- }
-
- $hname = "${stylepkg}::\L$htype";
- if (defined(&$hname)) {
- $handlers->{$htype} = \&$hname;
- next;
- }
- }
- }
- }
-
- unless (defined($handlers->{ExternEnt})
- or defined ($handlers->{ExternEntFin})) {
-
- if ($args{NoLWP} or $LWP_load_failed) {
- $handlers->{ExternEnt} = \&file_ext_ent_handler;
- $handlers->{ExternEntFin} = \&file_ext_ent_cleanup;
- }
- else {
- # The following just bootstraps the real LWP external entity
- # handler
-
- $handlers->{ExternEnt} = \&initial_ext_ent_handler;
-
- # No cleanup function available until LWPExternEnt.pl loaded
- }
- }
-
- $args{Pkg} ||= caller;
- bless \%args, $class;
-} # End of new
-
-sub setHandlers {
- my ($self, @handler_pairs) = @_;
-
- croak("Uneven number of arguments to setHandlers method")
- if (int(@handler_pairs) & 1);
-
- my @ret;
- while (@handler_pairs) {
- my $type = shift @handler_pairs;
- my $handler = shift @handler_pairs;
- unless (defined($self->{_HNDL_TYPES}->{$type})) {
- my @types = sort keys %{$self->{_HNDL_TYPES}};
-
- croak("Unknown Parser handler type: $type\n Valid types: @types");
- }
- push(@ret, $type, $self->{Handlers}->{$type});
- $self->{Handlers}->{$type} = $handler;
- }
-
- return @ret;
-}
-
-sub parse_start {
- my $self = shift;
- my @expat_options = ();
-
- my ($key, $val);
- while (($key, $val) = each %{$self}) {
- push (@expat_options, $key, $val)
- unless exists $self->{Non_Expat_Options}->{$key};
- }
-
- my %handlers = %{$self->{Handlers}};
- my $init = delete $handlers{Init};
- my $final = delete $handlers{Final};
-
- my $expatnb = new XML::Parser::ExpatNB(@expat_options, @_);
- $expatnb->setHandlers(%handlers);
-
- &$init($expatnb)
- if defined($init);
-
- $expatnb->{_State_} = 1;
-
- $expatnb->{FinalHandler} = $final
- if defined($final);
-
- return $expatnb;
-}
-
-sub parse {
- my $self = shift;
- my $arg = shift;
- my @expat_options = ();
- my ($key, $val);
- while (($key, $val) = each %{$self}) {
- push(@expat_options, $key, $val)
- unless exists $self->{Non_Expat_Options}->{$key};
- }
-
- my $expat = new XML::Parser::Expat(@expat_options, @_);
- my %handlers = %{$self->{Handlers}};
- my $init = delete $handlers{Init};
- my $final = delete $handlers{Final};
-
- $expat->setHandlers(%handlers);
-
- if ($self->{Base}) {
- $expat->base($self->{Base});
- }
-
- &$init($expat)
- if defined($init);
-
- my @result = ();
- my $result;
- eval {
- $result = $expat->parse($arg);
- };
- my $err = $@;
- if ($err) {
- $expat->release;
- die $err;
- }
-
- if ($result and defined($final)) {
- if (wantarray) {
- @result = &$final($expat);
- }
- else {
- $result = &$final($expat);
- }
- }
-
- $expat->release;
-
- return unless defined wantarray;
- return wantarray ? @result : $result;
-}
-
-sub parsestring {
- my $self = shift;
- $self->parse(@_);
-}
-
-sub parsefile {
- my $self = shift;
- my $file = shift;
- local(*FILE);
- open(FILE, $file) or croak "Couldn't open $file:\n$!";
- binmode(FILE);
- my @ret;
- my $ret;
-
- $self->{Base} = $file;
-
- if (wantarray) {
- eval {
- @ret = $self->parse(*FILE, @_);
- };
- }
- else {
- eval {
- $ret = $self->parse(*FILE, @_);
- };
- }
- my $err = $@;
- close(FILE);
- die $err if $err;
-
- return unless defined wantarray;
- return wantarray ? @ret : $ret;
-}
-
-sub initial_ext_ent_handler {
- # This just bootstraps in the real lwp_ext_ent_handler which
- # also loads the URI and LWP modules.
-
- unless ($LWP_load_failed) {
- local($^W) = 0;
-
- my $stat =
- eval {
- require('XML/Parser/LWPExternEnt.pl');
- };
-
- if ($stat) {
- $_[0]->setHandlers(ExternEnt => \&lwp_ext_ent_handler,
- ExternEntFin => \&lwp_ext_ent_cleanup);
-
- goto &lwp_ext_ent_handler;
- }
-
- # Failed to load lwp handler, act as if NoLWP
-
- $LWP_load_failed = 1;
-
- my $cmsg = "Couldn't load LWP based external entity handler\n";
- $cmsg .= "Switching to file-based external entity handler\n";
- $cmsg .= " (To avoid this message, use NoLWP option to XML::Parser)\n";
- warn($cmsg);
- }
-
- $_[0]->setHandlers(ExternEnt => \&file_ext_ent_handler,
- ExternEntFin => \&file_ext_ent_cleanup);
- goto &file_ext_ent_handler;
-
-}
-
-sub file_ext_ent_handler {
- my ($xp, $base, $path) = @_;
-
- # Prepend base only for relative paths
-
- if (defined($base)
- and not ($path =~ m!^(?:[\\/]|\w+:)!))
- {
- my $newpath = $base;
- $newpath =~ s![^\\/:]*$!$path!;
- $path = $newpath;
- }
-
- if ($path =~ /^\s*[|>+]/
- or $path =~ /\|\s*$/) {
- $xp->{ErrorMessage}
- .= "System ID ($path) contains Perl IO control characters";
- return undef;
- }
-
- require IO::File;
- my $fh = new IO::File($path);
- unless (defined $fh) {
- $xp->{ErrorMessage}
- .= "Failed to open $path:\n$!";
- return undef;
- }
-
- $xp->{_BaseStack} ||= [];
- $xp->{_FhStack} ||= [];
-
- push(@{$xp->{_BaseStack}}, $base);
- push(@{$xp->{_FhStack}}, $fh);
-
- $xp->base($path);
-
- return $fh;
-}
-
-sub file_ext_ent_cleanup {
- my ($xp) = @_;
-
- my $fh = pop(@{$xp->{_FhStack}});
- $fh->close;
-
- my $base = pop(@{$xp->{_BaseStack}});
- $xp->base($base);
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-XML::Parser - A perl module for parsing XML documents
-
-=head1 SYNOPSIS
-
- use XML::Parser;
-
- $p1 = new XML::Parser(Style => 'Debug');
- $p1->parsefile('REC-xml-19980210.xml');
- $p1->parse('<foo id="me">Hello World</foo>');
-
- # Alternative
- $p2 = new XML::Parser(Handlers => {Start => \&handle_start,
- End => \&handle_end,
- Char => \&handle_char});
- $p2->parse($socket);
-
- # Another alternative
- $p3 = new XML::Parser(ErrorContext => 2);
-
- $p3->setHandlers(Char => \&text,
- Default => \&other);
-
- open(FOO, 'xmlgenerator |');
- $p3->parse(*FOO, ProtocolEncoding => 'ISO-8859-1');
- close(FOO);
-
- $p3->parsefile('junk.xml', ErrorContext => 3);
-
-=begin man
-.ds PI PI
-
-=end man
-
-=head1 DESCRIPTION
-
-This module provides ways to parse XML documents. It is built on top of
-L<XML::Parser::Expat>, which is a lower level interface to James Clark's
-expat library. Each call to one of the parsing methods creates a new
-instance of XML::Parser::Expat which is then used to parse the document.
-Expat options may be provided when the XML::Parser object is created.
-These options are then passed on to the Expat object on each parse call.
-They can also be given as extra arguments to the parse methods, in which
-case they override options given at XML::Parser creation time.
-
-The behavior of the parser is controlled either by C<L</Style>> and/or
-C<L</Handlers>> options, or by L</setHandlers> method. These all provide
-mechanisms for XML::Parser to set the handlers needed by XML::Parser::Expat.
-If neither C<Style> nor C<Handlers> are specified, then parsing just
-checks the document for being well-formed.
-
-When underlying handlers get called, they receive as their first parameter
-the I<Expat> object, not the Parser object.
-
-=head1 METHODS
-
-=over 4
-
-=item new
-
-This is a class method, the constructor for XML::Parser. Options are passed
-as keyword value pairs. Recognized options are:
-
-=over 4
-
-=item * Style
-
-This option provides an easy way to create a given style of parser. The
-built in styles are: L<"Debug">, L<"Subs">, L<"Tree">, L<"Objects">,
-and L<"Stream">. These are all defined in separate packages under
-C<XML::Parser::Style::*>, and you can find further documentation for
-each style both below, and in those packages.
-
-Custom styles can be provided by giving a full package name containing
-at least one '::'. This package should then have subs defined for each
-handler it wishes to have installed. See L<"STYLES"> below
-for a discussion of each built in style.
-
-=item * Handlers
-
-When provided, this option should be an anonymous hash containing as
-keys the type of handler and as values a sub reference to handle that
-type of event. All the handlers get passed as their 1st parameter the
-instance of expat that is parsing the document. Further details on
-handlers can be found in L<"HANDLERS">. Any handler set here
-overrides the corresponding handler set with the Style option.
-
-=item * Pkg
-
-Some styles will refer to subs defined in this package. If not provided,
-it defaults to the package which called the constructor.
-
-=item * ErrorContext
-
-This is an Expat option. When this option is defined, errors are reported
-in context. The value should be the number of lines to show on either side
-of the line in which the error occurred.
-
-=item * ProtocolEncoding
-
-This is an Expat option. This sets the protocol encoding name. It defaults
-to none. The built-in encodings are: C<UTF-8>, C<ISO-8859-1>, C<UTF-16>, and
-C<US-ASCII>. Other encodings may be used if they have encoding maps in one
-of the directories in the @Encoding_Path list. Check L<"ENCODINGS"> for
-more information on encoding maps. Setting the protocol encoding overrides
-any encoding in the XML declaration.
-
-=item * Namespaces
-
-This is an Expat option. If this is set to a true value, then namespace
-processing is done during the parse. See L<XML::Parser::Expat/"Namespaces">
-for further discussion of namespace processing.
-
-=item * NoExpand
-
-This is an Expat option. Normally, the parser will try to expand references
-to entities defined in the internal subset. If this option is set to a true
-value, and a default handler is also set, then the default handler will be
-called when an entity reference is seen in text. This has no effect if a
-default handler has not been registered, and it has no effect on the expansion
-of entity references inside attribute values.
-
-=item * Stream_Delimiter
-
-This is an Expat option. It takes a string value. When this string is found
-alone on a line while parsing from a stream, then the parse is ended as if it
-saw an end of file. The intended use is with a stream of xml documents in a
-MIME multipart format. The string should not contain a trailing newline.
-
-=item * ParseParamEnt
-
-This is an Expat option. Unless standalone is set to "yes" in the XML
-declaration, setting this to a true value allows the external DTD to be read,
-and parameter entities to be parsed and expanded.
-
-=item * NoLWP
-
-This option has no effect if the ExternEnt or ExternEntFin handlers are
-directly set. Otherwise, if true, it forces the use of a file based external
-entity handler.
-
-=item * Non-Expat-Options
-
-If provided, this should be an anonymous hash whose keys are options that
-shouldn't be passed to Expat. This should only be of concern to those
-subclassing XML::Parser.
-
-=back
-
-=item setHandlers(TYPE, HANDLER [, TYPE, HANDLER [...]])
-
-This method registers handlers for various parser events. It overrides any
-previous handlers registered through the Style or Handler options or through
-earlier calls to setHandlers. By providing a false or undefined value as
-the handler, the existing handler can be unset.
-
-This method returns a list of type, handler pairs corresponding to the
-input. The handlers returned are the ones that were in effect prior to
-the call.
-
-See a description of the handler types in L<"HANDLERS">.
-
-=item parse(SOURCE [, OPT => OPT_VALUE [...]])
-
-The SOURCE parameter should either be a string containing the whole XML
-document, or it should be an open IO::Handle. Constructor options to
-XML::Parser::Expat given as keyword-value pairs may follow the SOURCE
-parameter. These override, for this call, any options or attributes passed
-through from the XML::Parser instance.
-
-A die call is thrown if a parse error occurs. Otherwise it will return 1
-or whatever is returned from the B<Final> handler, if one is installed.
-In other words, what parse may return depends on the style.
-
-=item parsestring
-
-This is just an alias for parse for backwards compatibility.
-
-=item parsefile(FILE [, OPT => OPT_VALUE [...]])
-
-Open FILE for reading, then call parse with the open handle. The file
-is closed no matter how parse returns. Returns what parse returns.
-
-=item parse_start([ OPT => OPT_VALUE [...]])
-
-Create and return a new instance of XML::Parser::ExpatNB. Constructor
-options may be provided. If an init handler has been provided, it is
-called before returning the ExpatNB object. Documents are parsed by
-making incremental calls to the parse_more method of this object, which
-takes a string. A single call to the parse_done method of this object,
-which takes no arguments, indicates that the document is finished.
-
-If there is a final handler installed, it is executed by the parse_done
-method before returning and the parse_done method returns whatever is
-returned by the final handler.
-
-=back
-
-=head1 HANDLERS
-
-Expat is an event based parser. As the parser recognizes parts of the
-document (say the start or end tag for an XML element), then any handlers
-registered for that type of an event are called with suitable parameters.
-All handlers receive an instance of XML::Parser::Expat as their first
-argument. See L<XML::Parser::Expat/"METHODS"> for a discussion of the
-methods that can be called on this object.
-
-=head2 Init (Expat)
-
-This is called just before the parsing of the document starts.
-
-=head2 Final (Expat)
-
-This is called just after parsing has finished, but only if no errors
-occurred during the parse. Parse returns what this returns.
-
-=head2 Start (Expat, Element [, Attr, Val [,...]])
-
-This event is generated when an XML start tag is recognized. Element is the
-name of the XML element type that is opened with the start tag. The Attr &
-Val pairs are generated for each attribute in the start tag.
-
-=head2 End (Expat, Element)
-
-This event is generated when an XML end tag is recognized. Note that
-an XML empty tag (<foo/>) generates both a start and an end event.
-
-=head2 Char (Expat, String)
-
-This event is generated when non-markup is recognized. The non-markup
-sequence of characters is in String. A single non-markup sequence of
-characters may generate multiple calls to this handler. Whatever the
-encoding of the string in the original document, this is given to the
-handler in UTF-8.
-
-=head2 Proc (Expat, Target, Data)
-
-This event is generated when a processing instruction is recognized.
-
-=head2 Comment (Expat, Data)
-
-This event is generated when a comment is recognized.
-
-=head2 CdataStart (Expat)
-
-This is called at the start of a CDATA section.
-
-=head2 CdataEnd (Expat)
-
-This is called at the end of a CDATA section.
-
-=head2 Default (Expat, String)
-
-This is called for any characters that don't have a registered handler.
-This includes both characters that are part of markup for which no
-events are generated (markup declarations) and characters that
-could generate events, but for which no handler has been registered.
-
-Whatever the encoding in the original document, the string is returned to
-the handler in UTF-8.
-
-=head2 Unparsed (Expat, Entity, Base, Sysid, Pubid, Notation)
-
-This is called for a declaration of an unparsed entity. Entity is the name
-of the entity. Base is the base to be used for resolving a relative URI.
-Sysid is the system id. Pubid is the public id. Notation is the notation
-name. Base and Pubid may be undefined.
-
-=head2 Notation (Expat, Notation, Base, Sysid, Pubid)
-
-This is called for a declaration of notation. Notation is the notation name.
-Base is the base to be used for resolving a relative URI. Sysid is the system
-id. Pubid is the public id. Base, Sysid, and Pubid may all be undefined.
-
-=head2 ExternEnt (Expat, Base, Sysid, Pubid)
-
-This is called when an external entity is referenced. Base is the base to be
-used for resolving a relative URI. Sysid is the system id. Pubid is the public
-id. Base, and Pubid may be undefined.
-
-This handler should either return a string, which represents the contents of
-the external entity, or return an open filehandle that can be read to obtain
-the contents of the external entity, or return undef, which indicates the
-external entity couldn't be found and will generate a parse error.
-
-If an open filehandle is returned, it must be returned as either a glob
-(*FOO) or as a reference to a glob (e.g. an instance of IO::Handle).
-
-A default handler is installed for this event. The default handler is
-XML::Parser::lwp_ext_ent_handler unless the NoLWP option was provided with
-a true value, otherwise XML::Parser::file_ext_ent_handler is the default
-handler for external entities. Even without the NoLWP option, if the
-URI or LWP modules are missing, the file based handler ends up being used
-after giving a warning on the first external entity reference.
-
-The LWP external entity handler will use proxies defined in the environment
-(http_proxy, ftp_proxy, etc.).
-
-Please note that the LWP external entity handler reads the entire
-entity into a string and returns it, where as the file handler opens a
-filehandle.
-
-Also note that the file external entity handler will likely choke on
-absolute URIs or file names that don't fit the conventions of the local
-operating system.
-
-The expat base method can be used to set a basename for
-relative pathnames. If no basename is given, or if the basename is itself
-a relative name, then it is relative to the current working directory.
-
-=head2 ExternEntFin (Expat)
-
-This is called after parsing an external entity. It's not called unless
-an ExternEnt handler is also set. There is a default handler installed
-that pairs with the default ExternEnt handler.
-
-If you're going to install your own ExternEnt handler, then you should
-set (or unset) this handler too.
-
-=head2 Entity (Expat, Name, Val, Sysid, Pubid, Ndata, IsParam)
-
-This is called when an entity is declared. For internal entities, the Val
-parameter will contain the value and the remaining three parameters will be
-undefined. For external entities, the Val parameter will be undefined, the
-Sysid parameter will have the system id, the Pubid parameter will have the
-public id if it was provided (it will be undefined otherwise), the Ndata
-parameter will contain the notation for unparsed entities. If this is a
-parameter entity declaration, then the IsParam parameter is true.
-
-Note that this handler and the Unparsed handler above overlap. If both are
-set, then this handler will not be called for unparsed entities.
-
-=head2 Element (Expat, Name, Model)
-
-The element handler is called when an element declaration is found. Name
-is the element name, and Model is the content model as an XML::Parser::Content
-object. See L<XML::Parser::Expat/"XML::Parser::ContentModel Methods">
-for methods available for this class.
-
-=head2 Attlist (Expat, Elname, Attname, Type, Default, Fixed)
-
-This handler is called for each attribute in an ATTLIST declaration.
-So an ATTLIST declaration that has multiple attributes will generate multiple
-calls to this handler. The Elname parameter is the name of the element with
-which the attribute is being associated. The Attname parameter is the name
-of the attribute. Type is the attribute type, given as a string. Default is
-the default value, which will either be "#REQUIRED", "#IMPLIED" or a quoted
-string (i.e. the returned string will begin and end with a quote character).
-If Fixed is true, then this is a fixed attribute.
-
-=head2 Doctype (Expat, Name, Sysid, Pubid, Internal)
-
-This handler is called for DOCTYPE declarations. Name is the document type
-name. Sysid is the system id of the document type, if it was provided,
-otherwise it's undefined. Pubid is the public id of the document type,
-which will be undefined if no public id was given. Internal is the internal
-subset, given as a string. If there was no internal subset, it will be
-undefined. Internal will contain all whitespace, comments, processing
-instructions, and declarations seen in the internal subset. The declarations
-will be there whether or not they have been processed by another handler
-(except for unparsed entities processed by the Unparsed handler). However,
-comments and processing instructions will not appear if they've been processed
-by their respective handlers.
-
-=head2 * DoctypeFin (Parser)
-
-This handler is called after parsing of the DOCTYPE declaration has finished,
-including any internal or external DTD declarations.
-
-=head2 XMLDecl (Expat, Version, Encoding, Standalone)
-
-This handler is called for xml declarations. Version is a string containg
-the version. Encoding is either undefined or contains an encoding string.
-Standalone will be either true, false, or undefined if the standalone attribute
-is yes, no, or not made respectively.
-
-=head1 STYLES
-
-=head2 Debug
-
-This just prints out the document in outline form. Nothing special is
-returned by parse.
-
-=head2 Subs
-
-Each time an element starts, a sub by that name in the package specified
-by the Pkg option is called with the same parameters that the Start
-handler gets called with.
-
-Each time an element ends, a sub with that name appended with an underscore
-("_"), is called with the same parameters that the End handler gets called
-with.
-
-Nothing special is returned by parse.
-
-=head2 Tree
-
-Parse will return a parse tree for the document. Each node in the tree
-takes the form of a tag, content pair. Text nodes are represented with
-a pseudo-tag of "0" and the string that is their content. For elements,
-the content is an array reference. The first item in the array is a
-(possibly empty) hash reference containing attributes. The remainder of
-the array is a sequence of tag-content pairs representing the content
-of the element.
-
-So for example the result of parsing:
-
- <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo>
-
-would be:
-
- Tag Content
- ==================================================================
- [foo, [{}, head, [{id => "a"}, 0, "Hello ", em, [{}, 0, "there"]],
- bar, [ {}, 0, "Howdy", ref, [{}]],
- 0, "do"
- ]
- ]
-
-The root document "foo", has 3 children: a "head" element, a "bar"
-element and the text "do". After the empty attribute hash, these are
-represented in it's contents by 3 tag-content pairs.
-
-=head2 Objects
-
-This is similar to the Tree style, except that a hash object is created for
-each element. The corresponding object will be in the class whose name
-is created by appending "::" and the element name to the package set with
-the Pkg option. Non-markup text will be in the ::Characters class. The
-contents of the corresponding object will be in an anonymous array that
-is the value of the Kids property for that object.
-
-=head2 Stream
-
-This style also uses the Pkg package. If none of the subs that this
-style looks for is there, then the effect of parsing with this style is
-to print a canonical copy of the document without comments or declarations.
-All the subs receive as their 1st parameter the Expat instance for the
-document they're parsing.
-
-It looks for the following routines:
-
-=over 4
-
-=item * StartDocument
-
-Called at the start of the parse .
-
-=item * StartTag
-
-Called for every start tag with a second parameter of the element type. The $_
-variable will contain a copy of the tag and the %_ variable will contain
-attribute values supplied for that element.
-
-=item * EndTag
-
-Called for every end tag with a second parameter of the element type. The $_
-variable will contain a copy of the end tag.
-
-=item * Text
-
-Called just before start or end tags with accumulated non-markup text in
-the $_ variable.
-
-=item * PI
-
-Called for processing instructions. The $_ variable will contain a copy of
-the PI and the target and data are sent as 2nd and 3rd parameters
-respectively.
-
-=item * EndDocument
-
-Called at conclusion of the parse.
-
-=back
-
-=head1 ENCODINGS
-
-XML documents may be encoded in character sets other than Unicode as
-long as they may be mapped into the Unicode character set. Expat has
-further restrictions on encodings. Read the xmlparse.h header file in
-the expat distribution to see details on these restrictions.
-
-Expat has built-in encodings for: C<UTF-8>, C<ISO-8859-1>, C<UTF-16>, and
-C<US-ASCII>. Encodings are set either through the XML declaration
-encoding attribute or through the ProtocolEncoding option to XML::Parser
-or XML::Parser::Expat.
-
-For encodings other than the built-ins, expat calls the function
-load_encoding in the Expat package with the encoding name. This function
-looks for a file in the path list @XML::Parser::Expat::Encoding_Path, that
-matches the lower-cased name with a '.enc' extension. The first one it
-finds, it loads.
-
-If you wish to build your own encoding maps, check out the XML::Encoding
-module from CPAN.
-
-=head1 AUTHORS
-
-Larry Wall <F<larry@wall.org>> wrote version 1.0.
-
-Clark Cooper <F<coopercc@netheaven.com>> picked up support, changed the API
-for this version (2.x), provided documentation,
-and added some standard package features.
-
-Matt Sergeant <F<matt@sergeant.org>> is now maintaining XML::Parser
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg
deleted file mode 100644
index 6912e702264..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg
+++ /dev/null
@@ -1,117 +0,0 @@
-Mapping files for Japanese encodings
-
-1998 12/25
-
-Fuji Xerox Information Systems
-MURATA Makoto
-
-1. Overview
-
-This version of XML::Parser and XML::Encoding does not come with map files for
-the charset "Shift_JIS" and the charset "euc-jp". Unfortunately, each of these
-charsets has more than one mapping. None of these mappings are
-considered as authoritative.
-
-Therefore, we have come to believe that it is dangerous to provide map files
-for these charsets. Rather, we introduce several private charsets and map
-files for these private charsets. If IANA, Unicode Consoritum, and JIS
-eventually reach a consensus, we will be able to provide map files for
-"Shift_JIS" and "euc-jp".
-
-2. Different mappings from existing charsets to Unicode
-
-1) Different mappings in JIS X0221 and Unicode
-
-The mapping between JIS X0208:1990 and Unicode 1.1 and the mapping
-between JIS X0212:1990 and Unicode 1.1 are published from Unicode
-consortium. They are available at
-ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/JIS0208.TXT and
-ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/JIS0212.TXT,
-respectively.) These mapping files have a note as below:
-
-# The kanji mappings are a normative part of ISO/IEC 10646. The
-# non-kanji mappings are provisional, pending definition of
-# official mappings by Japanese standards bodies.
-
-Unfortunately, the non-kanji mappings in the Japanese standard for ISO 10646/1,
-namely JIS X 0221:1995, is different from the Unicode Consortium mapping since
-0x213D of JIS X 0208 is mapped to U+2014 (em dash) rather than U+2015
-(horizontal bar). Furthermore, JIS X 0221 clearly says that the mapping is
-informational and non-normative. As a result, some companies (e.g., Microsoft and
-Apple) have introduced slightly different mappings. Therefore, neither the
-Unicode consortium mapping nor the JIS X 0221 mapping are considered as
-authoritative.
-
-2) Shift-JIS
-
-This charset is especially problematic, since its definition has been unclear
-since its inception.
-
-The current registration of the charset "Shift_JIS" is as below:
-
->Name: Shift_JIS (preferred MIME name)
->MIBenum: 17
->Source: A Microsoft code that extends csHalfWidthKatakana to include
-> kanji by adding a second byte when the value of the first
-> byte is in the ranges 81-9F or E0-EF.
->Alias: MS_Kanji
->Alias: csShiftJIS
-
-First, this does not reference to the mapping "Shift-JIS to Unicode"
-published by the Unicode consortium (available at
-ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/SHIFTJIS.TXT).
-
-Second, "kanji" in this registration can be interepreted in different ways.
-Does this "kanji" reference to JIS X0208:1978, JIS X0208:1983, or JIS
-X0208:1990(== JIS X0208:1997)? These three standards are *incompatible* with
-each other. Moreover, we can even argue that "kanji" refers to JIS X0212 or
-ideographic characters in other countries.
-
-Third, each company has extended Shift JIS. For example, Microsoft introduced
-OEM extensions (NEC extensionsand IBM extensions).
-
-Forth, Shift JIS uses JIS X0201, which is almost upper-compatible with US-ASCII
-but is not quite. 5C and 7E of JIS X 0201 are different from backslash and
-tilde, respectively. However, many programming languages (e.g., Java)
-ignore this difference and assumes that 5C and 7E of Shift JIS are backslash
-and tilde.
-
-
-3. Proposed charsets and mappings
-
-As a tentative solution, we introduce two private charsets for EUC-JP and four
-priviate charsets for Shift JIS.
-
-1) EUC-JP
-
-We have two charsets, namely "x-eucjp-unicode" and "x-eucjp-jisx0221". Their
-difference is only one code point. The mapping for the former is based
-on the Unicode Consortium mapping, while the latter is based on the JIS X0221
-mapping.
-
-2) Shift JIS
-
-We have four charsets, namely x-sjis-unicode, x-sjis-jisx0221,
-x-sjis-jdk117, and x-sjis-cp932.
-
-The mapping for the charset x-sjis-unicode is the one published by the Unicode
-consortium. The mapping for x-sjis-jisx0221 is almost equivalent to
-x-sjis-unicode, but 0x213D of JIS X 0208 is mapped to U+2014 (em dash) rather
-than U+2015. The charset x-sjis-jdk117 is again almost equivalent to
-x-sjis-unicode, but 0x5C and 0x7E of JIS X0201 are mapped to backslash and
-tilde.
-
-The charset x-sjis-cp932 is used by Microsoft Windows, and its mapping is
-published from the Unicode Consortium (available at:
-ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.txt). The
-coded character set for this charset includes NEC-extensions and
-IBM-extensions. 0x5C and 0x7E of JIS X0201 are mapped to backslash and tilde;
-0x213D is mapped to U+2015; and 0x2140, 0x2141, 0x2142, and 0x215E of JIS X
-0208 are mapped to compatibility characters.
-
-Makoto
-
-Fuji Xerox Information Systems
-
-Tel: +81-44-812-7230 Fax: +81-44-812-7231
-E-mail: murata@apsdc.ksp.fujixerox.co.jp
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README
deleted file mode 100644
index 576323c8225..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README
+++ /dev/null
@@ -1,51 +0,0 @@
-This directory contains binary encoding maps for some selected encodings.
-If they are placed in a directoy listed in @XML::Parser::Expat::Encoding_Path,
-then they are automaticly loaded by the XML::Parser::Expat::load_encoding
-function as needed. Otherwise you may load what you need directly by
-explicity calling this function.
-
-These maps were generated by a perl script that comes with the module
-XML::Encoding, compile_encoding, from XML formatted encoding maps that
-are distributed with that module. These XML encoding maps were generated
-in turn with a different script, domap, from mapping information contained
-on the Unicode version 2.0 CD-ROM. This CD-ROM comes with the Unicode
-Standard reference manual and can be ordered from the Unicode Consortium
-at http://www.unicode.org. The identical information is available on the
-internet at ftp://ftp.unicode.org/Public/MAPPINGS.
-
-See the encoding.h header in the Expat sub-directory for a description of
-the structure of these files.
-
-Clark Cooper
-December 12, 1998
-
-================================================================
-
-Contributed maps
-
-This distribution contains four contributed encodings from MURATA Makoto
-<murata@apsdc.ksp.fujixerox.co.jp> that are variations on the encoding
-commonly called Shift_JIS:
-
-x-sjis-cp932.enc
-x-sjis-jdk117.enc
-x-sjis-jisx0221.enc
-x-sjis-unicode.enc (This is the same encoding as the shift_jis.enc that
- was distributed with this module in version 2.17)
-
-Please read his message (Japanese_Encodings.msg) about why these are here
-and why I've removed the shift_jis.enc encoding.
-
-We also have two contributed encodings that are variations of the EUC-JP
-encoding from Yoshida Masato <yoshidam@inse.co.jp>:
-
-x-euc-jp-jisx0221.enc
-x-euc-jp-unicode.enc
-
-The comments that MURATA Makoto made in his message apply to these
-encodings too.
-
-KangChan Lee <dolphin@comeng.chungnam.ac.kr> supplied the euc-kr encoding.
-
-Clark Cooper
-December 26, 1998
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc
deleted file mode 100644
index 94b2bd4bf40..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc
deleted file mode 100644
index 3da8a13f3c3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc
deleted file mode 100644
index d320d7f8bc9..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc
deleted file mode 100644
index ba4837852e9..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc
deleted file mode 100644
index 0294a24089c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc
deleted file mode 100644
index 6dbd1692c4b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc
deleted file mode 100644
index 02a4aee1c7b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc
deleted file mode 100644
index f211bd52342..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc
deleted file mode 100644
index fdc574b1b98..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc
deleted file mode 100644
index d4a64b55f10..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc
deleted file mode 100644
index ab2d57c6778..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc
deleted file mode 100644
index ca79c07a2bb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc
deleted file mode 100644
index 34d4d0d31e7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc
deleted file mode 100644
index c2a6bc40de5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc
deleted file mode 100644
index b6c2c07c042..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc
deleted file mode 100644
index cbb2db5fbad..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc
deleted file mode 100644
index 6f88a06fd96..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm
deleted file mode 100644
index 9413d80a843..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm
+++ /dev/null
@@ -1,1230 +0,0 @@
-package XML::Parser::Expat;
-
-require 5.004;
-
-use strict;
-use vars qw($VERSION @ISA %Handler_Setters %Encoding_Table @Encoding_Path
- $have_File_Spec);
-use Carp;
-
-require DynaLoader;
-
-@ISA = qw(DynaLoader);
-$VERSION = "2.36" ;
-
-$have_File_Spec = $INC{'File/Spec.pm'} || do 'File/Spec.pm';
-
-%Encoding_Table = ();
-if ($have_File_Spec) {
- @Encoding_Path = (grep(-d $_,
- map(File::Spec->catdir($_, qw(XML Parser Encodings)),
- @INC)),
- File::Spec->curdir);
-}
-else {
- @Encoding_Path = (grep(-d $_, map($_ . '/XML/Parser/Encodings', @INC)), '.');
-}
-
-
-bootstrap XML::Parser::Expat $VERSION;
-
-%Handler_Setters = (
- Start => \&SetStartElementHandler,
- End => \&SetEndElementHandler,
- Char => \&SetCharacterDataHandler,
- Proc => \&SetProcessingInstructionHandler,
- Comment => \&SetCommentHandler,
- CdataStart => \&SetStartCdataHandler,
- CdataEnd => \&SetEndCdataHandler,
- Default => \&SetDefaultHandler,
- Unparsed => \&SetUnparsedEntityDeclHandler,
- Notation => \&SetNotationDeclHandler,
- ExternEnt => \&SetExternalEntityRefHandler,
- ExternEntFin => \&SetExtEntFinishHandler,
- Entity => \&SetEntityDeclHandler,
- Element => \&SetElementDeclHandler,
- Attlist => \&SetAttListDeclHandler,
- Doctype => \&SetDoctypeHandler,
- DoctypeFin => \&SetEndDoctypeHandler,
- XMLDecl => \&SetXMLDeclHandler
- );
-
-sub new {
- my ($class, %args) = @_;
- my $self = bless \%args, $_[0];
- $args{_State_} = 0;
- $args{Context} = [];
- $args{Namespaces} ||= 0;
- $args{ErrorMessage} ||= '';
- if ($args{Namespaces}) {
- $args{Namespace_Table} = {};
- $args{Namespace_List} = [undef];
- $args{Prefix_Table} = {};
- $args{New_Prefixes} = [];
- }
- $args{_Setters} = \%Handler_Setters;
- $args{Parser} = ParserCreate($self, $args{ProtocolEncoding},
- $args{Namespaces});
- $self;
-}
-
-sub load_encoding {
- my ($file) = @_;
-
- $file =~ s!([^/]+)$!\L$1\E!;
- $file .= '.enc' unless $file =~ /\.enc$/;
- unless ($file =~ m!^/!) {
- foreach (@Encoding_Path) {
- my $tmp = ($have_File_Spec
- ? File::Spec->catfile($_, $file)
- : "$_/$file");
- if (-e $tmp) {
- $file = $tmp;
- last;
- }
- }
- }
-
- local(*ENC);
- open(ENC, $file) or croak("Couldn't open encmap $file:\n$!\n");
- binmode(ENC);
- my $data;
- my $br = sysread(ENC, $data, -s $file);
- croak("Trouble reading $file:\n$!\n")
- unless defined($br);
- close(ENC);
-
- my $name = LoadEncoding($data, $br);
- croak("$file isn't an encmap file")
- unless defined($name);
-
- $name;
-} # End load_encoding
-
-sub setHandlers {
- my ($self, @handler_pairs) = @_;
-
- croak("Uneven number of arguments to setHandlers method")
- if (int(@handler_pairs) & 1);
-
- my @ret;
-
- while (@handler_pairs) {
- my $type = shift @handler_pairs;
- my $handler = shift @handler_pairs;
- croak "Handler for $type not a Code ref"
- unless (! defined($handler) or ! $handler or ref($handler) eq 'CODE');
-
- my $hndl = $self->{_Setters}->{$type};
-
- unless (defined($hndl)) {
- my @types = sort keys %{$self->{_Setters}};
- croak("Unknown Expat handler type: $type\n Valid types: @types");
- }
-
- my $old = &$hndl($self->{Parser}, $handler);
- push (@ret, $type, $old);
- }
-
- return @ret;
-}
-
-sub xpcroak
- {
- my ($self, $message) = @_;
-
- my $eclines = $self->{ErrorContext};
- my $line = GetCurrentLineNumber($_[0]->{Parser});
- $message .= " at line $line";
- $message .= ":\n" . $self->position_in_context($eclines)
- if defined($eclines);
- croak $message;
-}
-
-sub xpcarp {
- my ($self, $message) = @_;
-
- my $eclines = $self->{ErrorContext};
- my $line = GetCurrentLineNumber($_[0]->{Parser});
- $message .= " at line $line";
- $message .= ":\n" . $self->position_in_context($eclines)
- if defined($eclines);
- carp $message;
-}
-
-sub default_current {
- my $self = shift;
- if ($self->{_State_} == 1) {
- return DefaultCurrent($self->{Parser});
- }
-}
-
-sub recognized_string {
- my $self = shift;
- if ($self->{_State_} == 1) {
- return RecognizedString($self->{Parser});
- }
-}
-
-sub original_string {
- my $self = shift;
- if ($self->{_State_} == 1) {
- return OriginalString($self->{Parser});
- }
-}
-
-sub current_line {
- my $self = shift;
- if ($self->{_State_} == 1) {
- return GetCurrentLineNumber($self->{Parser});
- }
-}
-
-sub current_column {
- my $self = shift;
- if ($self->{_State_} == 1) {
- return GetCurrentColumnNumber($self->{Parser});
- }
-}
-
-sub current_byte {
- my $self = shift;
- if ($self->{_State_} == 1) {
- return GetCurrentByteIndex($self->{Parser});
- }
-}
-
-sub base {
- my ($self, $newbase) = @_;
- my $p = $self->{Parser};
- my $oldbase = GetBase($p);
- SetBase($p, $newbase) if @_ > 1;
- return $oldbase;
-}
-
-sub context {
- my $ctx = $_[0]->{Context};
- @$ctx;
-}
-
-sub current_element {
- my ($self) = @_;
- @{$self->{Context}} ? $self->{Context}->[-1] : undef;
-}
-
-sub in_element {
- my ($self, $element) = @_;
- @{$self->{Context}} ? $self->eq_name($self->{Context}->[-1], $element)
- : undef;
-}
-
-sub within_element {
- my ($self, $element) = @_;
- my $cnt = 0;
- foreach (@{$self->{Context}}) {
- $cnt++ if $self->eq_name($_, $element);
- }
- return $cnt;
-}
-
-sub depth {
- my ($self) = @_;
- int(@{$self->{Context}});
-}
-
-sub element_index {
- my ($self) = @_;
-
- if ($self->{_State_} == 1) {
- return ElementIndex($self->{Parser});
- }
-}
-
-################
-# Namespace methods
-
-sub namespace {
- my ($self, $name) = @_;
- local($^W) = 0;
- $self->{Namespace_List}->[int($name)];
-}
-
-sub eq_name {
- my ($self, $nm1, $nm2) = @_;
- local($^W) = 0;
-
- int($nm1) == int($nm2) and $nm1 eq $nm2;
-}
-
-sub generate_ns_name {
- my ($self, $name, $namespace) = @_;
-
- $namespace ?
- GenerateNSName($name, $namespace, $self->{Namespace_Table},
- $self->{Namespace_List})
- : $name;
-}
-
-sub new_ns_prefixes {
- my ($self) = @_;
- if ($self->{Namespaces}) {
- return @{$self->{New_Prefixes}};
- }
- return ();
-}
-
-sub expand_ns_prefix {
- my ($self, $prefix) = @_;
-
- if ($self->{Namespaces}) {
- my $stack = $self->{Prefix_Table}->{$prefix};
- return (defined($stack) and @$stack) ? $stack->[-1] : undef;
- }
-
- return undef;
-}
-
-sub current_ns_prefixes {
- my ($self) = @_;
-
- if ($self->{Namespaces}) {
- my %set = %{$self->{Prefix_Table}};
-
- if (exists $set{'#default'} and not defined($set{'#default'}->[-1])) {
- delete $set{'#default'};
- }
-
- return keys %set;
- }
-
- return ();
-}
-
-
-################################################################
-# Namespace declaration handlers
-#
-
-sub NamespaceStart {
- my ($self, $prefix, $uri) = @_;
-
- $prefix = '#default' unless defined $prefix;
- my $stack = $self->{Prefix_Table}->{$prefix};
-
- if (defined $stack) {
- push(@$stack, $uri);
- }
- else {
- $self->{Prefix_Table}->{$prefix} = [$uri];
- }
-
- # The New_Prefixes list gets emptied at end of startElement function
- # in Expat.xs
-
- push(@{$self->{New_Prefixes}}, $prefix);
-}
-
-sub NamespaceEnd {
- my ($self, $prefix) = @_;
-
- $prefix = '#default' unless defined $prefix;
-
- my $stack = $self->{Prefix_Table}->{$prefix};
- if (@$stack > 1) {
- pop(@$stack);
- }
- else {
- delete $self->{Prefix_Table}->{$prefix};
- }
-}
-
-################
-
-sub specified_attr {
- my $self = shift;
-
- if ($self->{_State_} == 1) {
- return GetSpecifiedAttributeCount($self->{Parser});
- }
-}
-
-sub finish {
- my ($self) = @_;
- if ($self->{_State_} == 1) {
- my $parser = $self->{Parser};
- UnsetAllHandlers($parser);
- }
-}
-
-sub position_in_context {
- my ($self, $lines) = @_;
- if ($self->{_State_} == 1) {
- my $parser = $self->{Parser};
- my ($string, $linepos) = PositionContext($parser, $lines);
-
- return '' unless defined($string);
-
- my $col = GetCurrentColumnNumber($parser);
- my $ptr = ('=' x ($col - 1)) . '^' . "\n";
- my $ret;
- my $dosplit = $linepos < length($string);
-
- $string .= "\n" unless $string =~ /\n$/;
-
- if ($dosplit) {
- $ret = substr($string, 0, $linepos) . $ptr
- . substr($string, $linepos);
- } else {
- $ret = $string . $ptr;
- }
-
- return $ret;
- }
-}
-
-sub xml_escape {
- my $self = shift;
- my $text = shift;
-
- study $text;
- $text =~ s/\&/\&amp;/g;
- $text =~ s/</\&lt;/g;
- foreach (@_) {
- croak "xml_escape: '$_' isn't a single character" if length($_) > 1;
-
- if ($_ eq '>') {
- $text =~ s/>/\&gt;/g;
- }
- elsif ($_ eq '"') {
- $text =~ s/\"/\&quot;/;
- }
- elsif ($_ eq "'") {
- $text =~ s/\'/\&apos;/;
- }
- else {
- my $rep = '&#' . sprintf('x%X', ord($_)) . ';';
- if (/\W/) {
- my $ptrn = "\\$_";
- $text =~ s/$ptrn/$rep/g;
- }
- else {
- $text =~ s/$_/$rep/g;
- }
- }
- }
- $text;
-}
-
-sub skip_until {
- my $self = shift;
- if ($self->{_State_} <= 1) {
- SkipUntil($self->{Parser}, $_[0]);
- }
-}
-
-sub release {
- my $self = shift;
- ParserRelease($self->{Parser});
-}
-
-sub DESTROY {
- my $self = shift;
- ParserFree($self->{Parser});
-}
-
-sub parse {
- my $self = shift;
- my $arg = shift;
- croak "Parse already in progress (Expat)" if $self->{_State_};
- $self->{_State_} = 1;
- my $parser = $self->{Parser};
- my $ioref;
- my $result = 0;
-
- if (defined $arg) {
- if (ref($arg) and UNIVERSAL::isa($arg, 'IO::Handle')) {
- $ioref = $arg;
- } elsif (tied($arg)) {
- my $class = ref($arg);
- no strict 'refs';
- $ioref = $arg if defined &{"${class}::TIEHANDLE"};
- }
- else {
- require IO::Handle;
- eval {
- no strict 'refs';
- $ioref = *{$arg}{IO} if defined *{$arg};
- };
- undef $@;
- }
- }
-
- if (defined($ioref)) {
- my $delim = $self->{Stream_Delimiter};
- my $prev_rs;
-
- $prev_rs = ref($ioref)->input_record_separator("\n$delim\n")
- if defined($delim);
-
- $result = ParseStream($parser, $ioref, $delim);
-
- ref($ioref)->input_record_separator($prev_rs)
- if defined($delim);
- } else {
- $result = ParseString($parser, $arg);
- }
-
- $self->{_State_} = 2;
- $result or croak $self->{ErrorMessage};
-}
-
-sub parsestring {
- my $self = shift;
- $self->parse(@_);
-}
-
-sub parsefile {
- my $self = shift;
- croak "Parser has already been used" if $self->{_State_};
- local(*FILE);
- open(FILE, $_[0]) or croak "Couldn't open $_[0]:\n$!";
- binmode(FILE);
- my $ret = $self->parse(*FILE);
- close(FILE);
- $ret;
-}
-
-################################################################
-package XML::Parser::ContentModel;
-use overload '""' => \&asString, 'eq' => \&thiseq;
-
-sub EMPTY () {1}
-sub ANY () {2}
-sub MIXED () {3}
-sub NAME () {4}
-sub CHOICE () {5}
-sub SEQ () {6}
-
-
-sub isempty {
- return $_[0]->{Type} == EMPTY;
-}
-
-sub isany {
- return $_[0]->{Type} == ANY;
-}
-
-sub ismixed {
- return $_[0]->{Type} == MIXED;
-}
-
-sub isname {
- return $_[0]->{Type} == NAME;
-}
-
-sub name {
- return $_[0]->{Tag};
-}
-
-sub ischoice {
- return $_[0]->{Type} == CHOICE;
-}
-
-sub isseq {
- return $_[0]->{Type} == SEQ;
-}
-
-sub quant {
- return $_[0]->{Quant};
-}
-
-sub children {
- my $children = $_[0]->{Children};
- if (defined $children) {
- return @$children;
- }
- return undef;
-}
-
-sub asString {
- my ($self) = @_;
- my $ret;
-
- if ($self->{Type} == NAME) {
- $ret = $self->{Tag};
- }
- elsif ($self->{Type} == EMPTY) {
- return "EMPTY";
- }
- elsif ($self->{Type} == ANY) {
- return "ANY";
- }
- elsif ($self->{Type} == MIXED) {
- $ret = '(#PCDATA';
- foreach (@{$self->{Children}}) {
- $ret .= '|' . $_;
- }
- $ret .= ')';
- }
- else {
- my $sep = $self->{Type} == CHOICE ? '|' : ',';
- $ret = '(' . join($sep, map { $_->asString } @{$self->{Children}}) . ')';
- }
-
- $ret .= $self->{Quant} if $self->{Quant};
- return $ret;
-}
-
-sub thiseq {
- my $self = shift;
-
- return $self->asString eq $_[0];
-}
-
-################################################################
-package XML::Parser::ExpatNB;
-
-use vars qw(@ISA);
-use Carp;
-
-@ISA = qw(XML::Parser::Expat);
-
-sub parse {
- my $self = shift;
- my $class = ref($self);
- croak "parse method not supported in $class";
-}
-
-sub parsestring {
- my $self = shift;
- my $class = ref($self);
- croak "parsestring method not supported in $class";
-}
-
-sub parsefile {
- my $self = shift;
- my $class = ref($self);
- croak "parsefile method not supported in $class";
-}
-
-sub parse_more {
- my ($self, $data) = @_;
-
- $self->{_State_} = 1;
- my $ret = XML::Parser::Expat::ParsePartial($self->{Parser}, $data);
-
- croak $self->{ErrorMessage} unless $ret;
-}
-
-sub parse_done {
- my $self = shift;
-
- my $ret = XML::Parser::Expat::ParseDone($self->{Parser});
- unless ($ret) {
- my $msg = $self->{ErrorMessage};
- $self->release;
- croak $msg;
- }
-
- $self->{_State_} = 2;
-
- my $result = $ret;
- my @result = ();
- my $final = $self->{FinalHandler};
- if (defined $final) {
- if (wantarray) {
- @result = &$final($self);
- }
- else {
- $result = &$final($self);
- }
- }
-
- $self->release;
-
- return unless defined wantarray;
- return wantarray ? @result : $result;
-}
-
-################################################################
-
-package XML::Parser::Encinfo;
-
-sub DESTROY {
- my $self = shift;
- XML::Parser::Expat::FreeEncoding($self);
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-XML::Parser::Expat - Lowlevel access to James Clark's expat XML parser
-
-=head1 SYNOPSIS
-
- use XML::Parser::Expat;
-
- $parser = new XML::Parser::Expat;
- $parser->setHandlers('Start' => \&sh,
- 'End' => \&eh,
- 'Char' => \&ch);
- open(FOO, 'info.xml') or die "Couldn't open";
- $parser->parse(*FOO);
- close(FOO);
- # $parser->parse('<foo id="me"> here <em>we</em> go </foo>');
-
- sub sh
- {
- my ($p, $el, %atts) = @_;
- $p->setHandlers('Char' => \&spec)
- if ($el eq 'special');
- ...
- }
-
- sub eh
- {
- my ($p, $el) = @_;
- $p->setHandlers('Char' => \&ch) # Special elements won't contain
- if ($el eq 'special'); # other special elements
- ...
- }
-
-=head1 DESCRIPTION
-
-This module provides an interface to James Clark's XML parser, expat. As in
-expat, a single instance of the parser can only parse one document. Calls
-to parsestring after the first for a given instance will die.
-
-Expat (and XML::Parser::Expat) are event based. As the parser recognizes
-parts of the document (say the start or end of an XML element), then any
-handlers registered for that type of an event are called with suitable
-parameters.
-
-=head1 METHODS
-
-=over 4
-
-=item new
-
-This is a class method, the constructor for XML::Parser::Expat. Options are
-passed as keyword value pairs. The recognized options are:
-
-=over 4
-
-=item * ProtocolEncoding
-
-The protocol encoding name. The default is none. The expat built-in
-encodings are: C<UTF-8>, C<ISO-8859-1>, C<UTF-16>, and C<US-ASCII>.
-Other encodings may be used if they have encoding maps in one of the
-directories in the @Encoding_Path list. Setting the protocol encoding
-overrides any encoding in the XML declaration.
-
-=item * Namespaces
-
-When this option is given with a true value, then the parser does namespace
-processing. By default, namespace processing is turned off. When it is
-turned on, the parser consumes I<xmlns> attributes and strips off prefixes
-from element and attributes names where those prefixes have a defined
-namespace. A name's namespace can be found using the L<"namespace"> method
-and two names can be checked for absolute equality with the L<"eq_name">
-method.
-
-=item * NoExpand
-
-Normally, the parser will try to expand references to entities defined in
-the internal subset. If this option is set to a true value, and a default
-handler is also set, then the default handler will be called when an
-entity reference is seen in text. This has no effect if a default handler
-has not been registered, and it has no effect on the expansion of entity
-references inside attribute values.
-
-=item * Stream_Delimiter
-
-This option takes a string value. When this string is found alone on a line
-while parsing from a stream, then the parse is ended as if it saw an end of
-file. The intended use is with a stream of xml documents in a MIME multipart
-format. The string should not contain a trailing newline.
-
-=item * ErrorContext
-
-When this option is defined, errors are reported in context. The value
-of ErrorContext should be the number of lines to show on either side of
-the line in which the error occurred.
-
-=item * ParseParamEnt
-
-Unless standalone is set to "yes" in the XML declaration, setting this to
-a true value allows the external DTD to be read, and parameter entities
-to be parsed and expanded.
-
-=item * Base
-
-The base to use for relative pathnames or URLs. This can also be done by
-using the base method.
-
-=back
-
-=item setHandlers(TYPE, HANDLER [, TYPE, HANDLER [...]])
-
-This method registers handlers for the various events. If no handlers are
-registered, then a call to parsestring or parsefile will only determine if
-the corresponding XML document is well formed (by returning without error.)
-This may be called from within a handler, after the parse has started.
-
-Setting a handler to something that evaluates to false unsets that
-handler.
-
-This method returns a list of type, handler pairs corresponding to the
-input. The handlers returned are the ones that were in effect before the
-call to setHandlers.
-
-The recognized events and the parameters passed to the corresponding
-handlers are:
-
-=over 4
-
-=item * Start (Parser, Element [, Attr, Val [,...]])
-
-This event is generated when an XML start tag is recognized. Parser is
-an XML::Parser::Expat instance. Element is the name of the XML element that
-is opened with the start tag. The Attr & Val pairs are generated for each
-attribute in the start tag.
-
-=item * End (Parser, Element)
-
-This event is generated when an XML end tag is recognized. Note that
-an XML empty tag (<foo/>) generates both a start and an end event.
-
-There is always a lower level start and end handler installed that wrap
-the corresponding callbacks. This is to handle the context mechanism.
-A consequence of this is that the default handler (see below) will not
-see a start tag or end tag unless the default_current method is called.
-
-=item * Char (Parser, String)
-
-This event is generated when non-markup is recognized. The non-markup
-sequence of characters is in String. A single non-markup sequence of
-characters may generate multiple calls to this handler. Whatever the
-encoding of the string in the original document, this is given to the
-handler in UTF-8.
-
-=item * Proc (Parser, Target, Data)
-
-This event is generated when a processing instruction is recognized.
-
-=item * Comment (Parser, String)
-
-This event is generated when a comment is recognized.
-
-=item * CdataStart (Parser)
-
-This is called at the start of a CDATA section.
-
-=item * CdataEnd (Parser)
-
-This is called at the end of a CDATA section.
-
-=item * Default (Parser, String)
-
-This is called for any characters that don't have a registered handler.
-This includes both characters that are part of markup for which no
-events are generated (markup declarations) and characters that
-could generate events, but for which no handler has been registered.
-
-Whatever the encoding in the original document, the string is returned to
-the handler in UTF-8.
-
-=item * Unparsed (Parser, Entity, Base, Sysid, Pubid, Notation)
-
-This is called for a declaration of an unparsed entity. Entity is the name
-of the entity. Base is the base to be used for resolving a relative URI.
-Sysid is the system id. Pubid is the public id. Notation is the notation
-name. Base and Pubid may be undefined.
-
-=item * Notation (Parser, Notation, Base, Sysid, Pubid)
-
-This is called for a declaration of notation. Notation is the notation name.
-Base is the base to be used for resolving a relative URI. Sysid is the system
-id. Pubid is the public id. Base, Sysid, and Pubid may all be undefined.
-
-=item * ExternEnt (Parser, Base, Sysid, Pubid)
-
-This is called when an external entity is referenced. Base is the base to be
-used for resolving a relative URI. Sysid is the system id. Pubid is the public
-id. Base, and Pubid may be undefined.
-
-This handler should either return a string, which represents the contents of
-the external entity, or return an open filehandle that can be read to obtain
-the contents of the external entity, or return undef, which indicates the
-external entity couldn't be found and will generate a parse error.
-
-If an open filehandle is returned, it must be returned as either a glob
-(*FOO) or as a reference to a glob (e.g. an instance of IO::Handle).
-
-=item * ExternEntFin (Parser)
-
-This is called after an external entity has been parsed. It allows
-applications to perform cleanup on actions performed in the above
-ExternEnt handler.
-
-=item * Entity (Parser, Name, Val, Sysid, Pubid, Ndata, IsParam)
-
-This is called when an entity is declared. For internal entities, the Val
-parameter will contain the value and the remaining three parameters will
-be undefined. For external entities, the Val parameter
-will be undefined, the Sysid parameter will have the system id, the Pubid
-parameter will have the public id if it was provided (it will be undefined
-otherwise), the Ndata parameter will contain the notation for unparsed
-entities. If this is a parameter entity declaration, then the IsParam
-parameter is true.
-
-Note that this handler and the Unparsed handler above overlap. If both are
-set, then this handler will not be called for unparsed entities.
-
-=item * Element (Parser, Name, Model)
-
-The element handler is called when an element declaration is found. Name is
-the element name, and Model is the content model as an
-XML::Parser::ContentModel object. See L<"XML::Parser::ContentModel Methods">
-for methods available for this class.
-
-=item * Attlist (Parser, Elname, Attname, Type, Default, Fixed)
-
-This handler is called for each attribute in an ATTLIST declaration.
-So an ATTLIST declaration that has multiple attributes
-will generate multiple calls to this handler. The Elname parameter is the
-name of the element with which the attribute is being associated. The Attname
-parameter is the name of the attribute. Type is the attribute type, given as
-a string. Default is the default value, which will either be "#REQUIRED",
-"#IMPLIED" or a quoted string (i.e. the returned string will begin and end
-with a quote character). If Fixed is true, then this is a fixed attribute.
-
-=item * Doctype (Parser, Name, Sysid, Pubid, Internal)
-
-This handler is called for DOCTYPE declarations. Name is the document type
-name. Sysid is the system id of the document type, if it was provided,
-otherwise it's undefined. Pubid is the public id of the document type,
-which will be undefined if no public id was given. Internal will be
-true or false, indicating whether or not the doctype declaration contains
-an internal subset.
-
-=item * DoctypeFin (Parser)
-
-This handler is called after parsing of the DOCTYPE declaration has finished,
-including any internal or external DTD declarations.
-
-=item * XMLDecl (Parser, Version, Encoding, Standalone)
-
-This handler is called for XML declarations. Version is a string containg
-the version. Encoding is either undefined or contains an encoding string.
-Standalone is either undefined, or true or false. Undefined indicates
-that no standalone parameter was given in the XML declaration. True or
-false indicates "yes" or "no" respectively.
-
-=back
-
-=item namespace(name)
-
-Return the URI of the namespace that the name belongs to. If the name doesn't
-belong to any namespace, an undef is returned. This is only valid on names
-received through the Start or End handlers from a single document, or through
-a call to the generate_ns_name method. In other words, don't use names
-generated from one instance of XML::Parser::Expat with other instances.
-
-=item eq_name(name1, name2)
-
-Return true if name1 and name2 are identical (i.e. same name and from
-the same namespace.) This is only meaningful if both names were obtained
-through the Start or End handlers from a single document, or through
-a call to the generate_ns_name method.
-
-=item generate_ns_name(name, namespace)
-
-Return a name, associated with a given namespace, good for using with the
-above 2 methods. The namespace argument should be the namespace URI, not
-a prefix.
-
-=item new_ns_prefixes
-
-When called from a start tag handler, returns namespace prefixes declared
-with this start tag. If called elsewere (or if there were no namespace
-prefixes declared), it returns an empty list. Setting of the default
-namespace is indicated with '#default' as a prefix.
-
-=item expand_ns_prefix(prefix)
-
-Return the uri to which the given prefix is currently bound. Returns
-undef if the prefix isn't currently bound. Use '#default' to find the
-current binding of the default namespace (if any).
-
-=item current_ns_prefixes
-
-Return a list of currently bound namespace prefixes. The order of the
-the prefixes in the list has no meaning. If the default namespace is
-currently bound, '#default' appears in the list.
-
-=item recognized_string
-
-Returns the string from the document that was recognized in order to call
-the current handler. For instance, when called from a start handler, it
-will give us the the start-tag string. The string is encoded in UTF-8.
-This method doesn't return a meaningful string inside declaration handlers.
-
-=item original_string
-
-Returns the verbatim string from the document that was recognized in
-order to call the current handler. The string is in the original document
-encoding. This method doesn't return a meaningful string inside declaration
-handlers.
-
-=item default_current
-
-When called from a handler, causes the sequence of characters that generated
-the corresponding event to be sent to the default handler (if one is
-registered). Use of this method is deprecated in favor the recognized_string
-method, which you can use without installing a default handler. This
-method doesn't deliver a meaningful string to the default handler when
-called from inside declaration handlers.
-
-=item xpcroak(message)
-
-Concatenate onto the given message the current line number within the
-XML document plus the message implied by ErrorContext. Then croak with
-the formed message.
-
-=item xpcarp(message)
-
-Concatenate onto the given message the current line number within the
-XML document plus the message implied by ErrorContext. Then carp with
-the formed message.
-
-=item current_line
-
-Returns the line number of the current position of the parse.
-
-=item current_column
-
-Returns the column number of the current position of the parse.
-
-=item current_byte
-
-Returns the current position of the parse.
-
-=item base([NEWBASE]);
-
-Returns the current value of the base for resolving relative URIs. If
-NEWBASE is supplied, changes the base to that value.
-
-=item context
-
-Returns a list of element names that represent open elements, with the
-last one being the innermost. Inside start and end tag handlers, this
-will be the tag of the parent element.
-
-=item current_element
-
-Returns the name of the innermost currently opened element. Inside
-start or end handlers, returns the parent of the element associated
-with those tags.
-
-=item in_element(NAME)
-
-Returns true if NAME is equal to the name of the innermost currently opened
-element. If namespace processing is being used and you want to check
-against a name that may be in a namespace, then use the generate_ns_name
-method to create the NAME argument.
-
-=item within_element(NAME)
-
-Returns the number of times the given name appears in the context list.
-If namespace processing is being used and you want to check
-against a name that may be in a namespace, then use the generate_ns_name
-method to create the NAME argument.
-
-=item depth
-
-Returns the size of the context list.
-
-=item element_index
-
-Returns an integer that is the depth-first visit order of the current
-element. This will be zero outside of the root element. For example,
-this will return 1 when called from the start handler for the root element
-start tag.
-
-=item skip_until(INDEX)
-
-INDEX is an integer that represents an element index. When this method
-is called, all handlers are suspended until the start tag for an element
-that has an index number equal to INDEX is seen. If a start handler has
-been set, then this is the first tag that the start handler will see
-after skip_until has been called.
-
-
-=item position_in_context(LINES)
-
-Returns a string that shows the current parse position. LINES should be
-an integer >= 0 that represents the number of lines on either side of the
-current parse line to place into the returned string.
-
-=item xml_escape(TEXT [, CHAR [, CHAR ...]])
-
-Returns TEXT with markup characters turned into character entities. Any
-additional characters provided as arguments are also turned into character
-references where found in TEXT.
-
-=item parse (SOURCE)
-
-The SOURCE parameter should either be a string containing the whole XML
-document, or it should be an open IO::Handle. Only a single document
-may be parsed for a given instance of XML::Parser::Expat, so this will croak
-if it's been called previously for this instance.
-
-=item parsestring(XML_DOC_STRING)
-
-Parses the given string as an XML document. Only a single document may be
-parsed for a given instance of XML::Parser::Expat, so this will die if either
-parsestring or parsefile has been called for this instance previously.
-
-This method is deprecated in favor of the parse method.
-
-=item parsefile(FILENAME)
-
-Parses the XML document in the given file. Will die if parsestring or
-parsefile has been called previously for this instance.
-
-=item is_defaulted(ATTNAME)
-
-NO LONGER WORKS. To find out if an attribute is defaulted please use
-the specified_attr method.
-
-=item specified_attr
-
-When the start handler receives lists of attributes and values, the
-non-defaulted (i.e. explicitly specified) attributes occur in the list
-first. This method returns the number of specified items in the list.
-So if this number is equal to the length of the list, there were no
-defaulted values. Otherwise the number points to the index of the
-first defaulted attribute name.
-
-=item finish
-
-Unsets all handlers (including internal ones that set context), but expat
-continues parsing to the end of the document or until it finds an error.
-It should finish up a lot faster than with the handlers set.
-
-=item release
-
-There are data structures used by XML::Parser::Expat that have circular
-references. This means that these structures will never be garbage
-collected unless these references are explicitly broken. Calling this
-method breaks those references (and makes the instance unusable.)
-
-Normally, higher level calls handle this for you, but if you are using
-XML::Parser::Expat directly, then it's your responsibility to call it.
-
-=back
-
-=head2 XML::Parser::ContentModel Methods
-
-The element declaration handlers are passed objects of this class as the
-content model of the element declaration. They also represent content
-particles, components of a content model.
-
-When referred to as a string, these objects are automagicly converted to a
-string representation of the model (or content particle).
-
-=over 4
-
-=item isempty
-
-This method returns true if the object is "EMPTY", false otherwise.
-
-=item isany
-
-This method returns true if the object is "ANY", false otherwise.
-
-=item ismixed
-
-This method returns true if the object is "(#PCDATA)" or "(#PCDATA|...)*",
-false otherwise.
-
-=item isname
-
-This method returns if the object is an element name.
-
-=item ischoice
-
-This method returns true if the object is a choice of content particles.
-
-
-=item isseq
-
-This method returns true if the object is a sequence of content particles.
-
-=item quant
-
-This method returns undef or a string representing the quantifier
-('?', '*', '+') associated with the model or particle.
-
-=item children
-
-This method returns undef or (for mixed, choice, and sequence types)
-an array of component content particles. There will always be at least
-one component for choices and sequences, but for a mixed content model
-of pure PCDATA, "(#PCDATA)", then an undef is returned.
-
-=back
-
-=head2 XML::Parser::ExpatNB Methods
-
-The class XML::Parser::ExpatNB is a subclass of XML::Parser::Expat used
-for non-blocking access to the expat library. It does not support the parse,
-parsestring, or parsefile methods, but it does have these additional methods:
-
-=over 4
-
-=item parse_more(DATA)
-
-Feed expat more text to munch on.
-
-=item parse_done
-
-Tell expat that it's gotten the whole document.
-
-=back
-
-=head1 FUNCTIONS
-
-=over 4
-
-=item XML::Parser::Expat::load_encoding(ENCODING)
-
-Load an external encoding. ENCODING is either the name of an encoding or
-the name of a file. The basename is converted to lowercase and a '.enc'
-extension is appended unless there's one already there. Then, unless
-it's an absolute pathname (i.e. begins with '/'), the first file by that
-name discovered in the @Encoding_Path path list is used.
-
-The encoding in the file is loaded and kept in the %Encoding_Table
-table. Earlier encodings of the same name are replaced.
-
-This function is automaticly called by expat when it encounters an encoding
-it doesn't know about. Expat shouldn't call this twice for the same
-encoding name. The only reason users should use this function is to
-explicitly load an encoding not contained in the @Encoding_Path list.
-
-=back
-
-=head1 AUTHORS
-
-Larry Wall <F<larry@wall.org>> wrote version 1.0.
-
-Clark Cooper <F<coopercc@netheaven.com>> picked up support, changed the API
-for this version (2.x), provided documentation, and added some standard
-package features.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl
deleted file mode 100644
index d0c940b1ac5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl
+++ /dev/null
@@ -1,71 +0,0 @@
-# LWPExternEnt.pl
-#
-# Copyright (c) 2000 Clark Cooper
-# All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package XML::Parser;
-
-use URI;
-use URI::file;
-use LWP;
-
-##
-## Note that this external entity handler reads the entire entity into
-## memory, so it will choke on huge ones. It would be really nice if
-## LWP::UserAgent optionally returned us an IO::Handle.
-##
-
-sub lwp_ext_ent_handler {
- my ($xp, $base, $sys) = @_; # We don't use public id
-
- my $uri;
-
- if (defined $base) {
- # Base may have been set by parsefile, which is agnostic about
- # whether its a file or URI.
- my $base_uri = new URI($base);
- unless (defined $base_uri->scheme) {
- $base_uri = URI->new_abs($base_uri, URI::file->cwd);
- }
-
- $uri = URI->new_abs($sys, $base_uri);
- }
- else {
- $uri = new URI($sys);
- unless (defined $uri->scheme) {
- $uri = URI->new_abs($uri, URI::file->cwd);
- }
- }
-
- my $ua = $xp->{_lwpagent};
- unless (defined $ua) {
- $ua = $xp->{_lwpagent} = new LWP::UserAgent();
- $ua->env_proxy();
- }
-
- my $req = new HTTP::Request('GET', $uri);
-
- my $res = $ua->request($req);
- if ($res->is_error) {
- $xp->{ErrorMessage} .= "\n" . $res->status_line . " $uri";
- return undef;
- }
-
- $xp->{_BaseStack} ||= [];
- push(@{$xp->{_BaseStack}}, $base);
-
- $xp->base($uri);
-
- return $res->content;
-} # End lwp_ext_ent_handler
-
-sub lwp_ext_ent_cleanup {
- my ($xp) = @_;
-
- $xp->base(pop(@{$xp->{_BaseStack}}));
-} # End lwp_ext_ent_cleanup
-
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm
deleted file mode 100644
index 89fcd8b248b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm
+++ /dev/null
@@ -1,52 +0,0 @@
-# $Id: Debug.pm,v 1.1 2003/07/27 16:07:49 matt Exp $
-
-package XML::Parser::Style::Debug;
-use strict;
-
-sub Start {
- my $expat = shift;
- my $tag = shift;
- print STDERR "@{$expat->{Context}} \\\\ (@_)\n";
-}
-
-sub End {
- my $expat = shift;
- my $tag = shift;
- print STDERR "@{$expat->{Context}} //\n";
-}
-
-sub Char {
- my $expat = shift;
- my $text = shift;
- $text =~ s/([\x80-\xff])/sprintf "#x%X;", ord $1/eg;
- $text =~ s/([\t\n])/sprintf "#%d;", ord $1/eg;
- print STDERR "@{$expat->{Context}} || $text\n";
-}
-
-sub Proc {
- my $expat = shift;
- my $target = shift;
- my $text = shift;
- my @foo = @{$expat->{Context}};
- print STDERR "@foo $target($text)\n";
-}
-
-1;
-__END__
-
-=head1 NAME
-
-XML::Parser::Style::Debug - Debug style for XML::Parser
-
-=head1 SYNOPSIS
-
- use XML::Parser;
- my $p = XML::Parser->new(Style => 'Debug');
- $p->parsefile('foo.xml');
-
-=head1 DESCRIPTION
-
-This just prints out the document in outline form to STDERR. Nothing special is
-returned by parse.
-
-=cut \ No newline at end of file
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm
deleted file mode 100644
index 8603db05a39..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm
+++ /dev/null
@@ -1,78 +0,0 @@
-# $Id: Objects.pm,v 1.1 2003/08/18 20:20:51 matt Exp $
-
-package XML::Parser::Style::Objects;
-use strict;
-
-sub Init {
- my $expat = shift;
- $expat->{Lists} = [];
- $expat->{Curlist} = $expat->{Tree} = [];
-}
-
-sub Start {
- my $expat = shift;
- my $tag = shift;
- my $newlist = [ ];
- my $class = "${$expat}{Pkg}::$tag";
- my $newobj = bless { @_, Kids => $newlist }, $class;
- push @{ $expat->{Lists} }, $expat->{Curlist};
- push @{ $expat->{Curlist} }, $newobj;
- $expat->{Curlist} = $newlist;
-}
-
-sub End {
- my $expat = shift;
- my $tag = shift;
- $expat->{Curlist} = pop @{ $expat->{Lists} };
-}
-
-sub Char {
- my $expat = shift;
- my $text = shift;
- my $class = "${$expat}{Pkg}::Characters";
- my $clist = $expat->{Curlist};
- my $pos = $#$clist;
-
- if ($pos >= 0 and ref($clist->[$pos]) eq $class) {
- $clist->[$pos]->{Text} .= $text;
- } else {
- push @$clist, bless { Text => $text }, $class;
- }
-}
-
-sub Final {
- my $expat = shift;
- delete $expat->{Curlist};
- delete $expat->{Lists};
- $expat->{Tree};
-}
-
-1;
-__END__
-
-=head1 NAME
-
-XML::Parser::Style::Objects
-
-=head1 SYNOPSIS
-
- use XML::Parser;
- my $p = XML::Parser->new(Style => 'Objects', Pkg => 'MyNode');
- my $tree = $p->parsefile('foo.xml');
-
-=head1 DESCRIPTION
-
-This module implements XML::Parser's Objects style parser.
-
-This is similar to the Tree style, except that a hash object is created for
-each element. The corresponding object will be in the class whose name
-is created by appending "::" and the element name to the package set with
-the Pkg option. Non-markup text will be in the ::Characters class. The
-contents of the corresponding object will be in an anonymous array that
-is the value of the Kids property for that object.
-
-=head1 SEE ALSO
-
-L<XML::Parser::Style::Tree>
-
-=cut \ No newline at end of file
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm
deleted file mode 100644
index 1e2e3f7183d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm
+++ /dev/null
@@ -1,184 +0,0 @@
-# $Id: Stream.pm,v 1.1 2003/07/27 16:07:49 matt Exp $
-
-package XML::Parser::Style::Stream;
-use strict;
-
-# This style invented by Tim Bray <tbray@textuality.com>
-
-sub Init {
- no strict 'refs';
- my $expat = shift;
- $expat->{Text} = '';
- my $sub = $expat->{Pkg} ."::StartDocument";
- &$sub($expat)
- if defined(&$sub);
-}
-
-sub Start {
- no strict 'refs';
- my $expat = shift;
- my $type = shift;
-
- doText($expat);
- $_ = "<$type";
-
- %_ = @_;
- while (@_) {
- $_ .= ' ' . shift() . '="' . shift() . '"';
- }
- $_ .= '>';
-
- my $sub = $expat->{Pkg} . "::StartTag";
- if (defined(&$sub)) {
- &$sub($expat, $type);
- } else {
- print;
- }
-}
-
-sub End {
- no strict 'refs';
- my $expat = shift;
- my $type = shift;
-
- # Set right context for Text handler
- push(@{$expat->{Context}}, $type);
- doText($expat);
- pop(@{$expat->{Context}});
-
- $_ = "</$type>";
-
- my $sub = $expat->{Pkg} . "::EndTag";
- if (defined(&$sub)) {
- &$sub($expat, $type);
- } else {
- print;
- }
-}
-
-sub Char {
- my $expat = shift;
- $expat->{Text} .= shift;
-}
-
-sub Proc {
- no strict 'refs';
- my $expat = shift;
- my $target = shift;
- my $text = shift;
-
- doText($expat);
-
- $_ = "<?$target $text?>";
-
- my $sub = $expat->{Pkg} . "::PI";
- if (defined(&$sub)) {
- &$sub($expat, $target, $text);
- } else {
- print;
- }
-}
-
-sub Final {
- no strict 'refs';
- my $expat = shift;
- my $sub = $expat->{Pkg} . "::EndDocument";
- &$sub($expat)
- if defined(&$sub);
-}
-
-sub doText {
- no strict 'refs';
- my $expat = shift;
- $_ = $expat->{Text};
-
- if (length($_)) {
- my $sub = $expat->{Pkg} . "::Text";
- if (defined(&$sub)) {
- &$sub($expat);
- } else {
- print;
- }
-
- $expat->{Text} = '';
- }
-}
-
-1;
-__END__
-
-=head1 NAME
-
-XML::Parser::Style::Stream - Stream style for XML::Parser
-
-=head1 SYNOPSIS
-
- use XML::Parser;
- my $p = XML::Parser->new(Style => 'Stream', Pkg => 'MySubs');
- $p->parsefile('foo.xml');
-
- {
- package MySubs;
-
- sub StartTag {
- my ($e, $name) = @_;
- # do something with start tags
- }
-
- sub EndTag {
- my ($e, $name) = @_;
- # do something with end tags
- }
-
- sub Characters {
- my ($e, $data) = @_;
- # do something with text nodes
- }
- }
-
-=head1 DESCRIPTION
-
-This style uses the Pkg option to find subs in a given package to call for each event.
-If none of the subs that this
-style looks for is there, then the effect of parsing with this style is
-to print a canonical copy of the document without comments or declarations.
-All the subs receive as their 1st parameter the Expat instance for the
-document they're parsing.
-
-It looks for the following routines:
-
-=over 4
-
-=item * StartDocument
-
-Called at the start of the parse .
-
-=item * StartTag
-
-Called for every start tag with a second parameter of the element type. The $_
-variable will contain a copy of the tag and the %_ variable will contain
-attribute values supplied for that element.
-
-=item * EndTag
-
-Called for every end tag with a second parameter of the element type. The $_
-variable will contain a copy of the end tag.
-
-=item * Text
-
-Called just before start or end tags with accumulated non-markup text in
-the $_ variable.
-
-=item * PI
-
-Called for processing instructions. The $_ variable will contain a copy of
-the PI and the target and data are sent as 2nd and 3rd parameters
-respectively.
-
-=item * EndDocument
-
-Called at conclusion of the parse.
-
-=back
-
-=cut \ No newline at end of file
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm
deleted file mode 100644
index 15a21439e8e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm
+++ /dev/null
@@ -1,58 +0,0 @@
-# $Id: Subs.pm,v 1.1 2003/07/27 16:07:49 matt Exp $
-
-package XML::Parser::Style::Subs;
-
-sub Start {
- no strict 'refs';
- my $expat = shift;
- my $tag = shift;
- my $sub = $expat->{Pkg} . "::$tag";
- eval { &$sub($expat, $tag, @_) };
-}
-
-sub End {
- no strict 'refs';
- my $expat = shift;
- my $tag = shift;
- my $sub = $expat->{Pkg} . "::${tag}_";
- eval { &$sub($expat, $tag) };
-}
-
-1;
-__END__
-
-=head1 NAME
-
-XML::Parser::Style::Subs
-
-=head1 SYNOPSIS
-
- use XML::Parser;
- my $p = XML::Parser->new(Style => 'Subs', Pkg => 'MySubs');
- $p->parsefile('foo.xml');
-
- {
- package MySubs;
-
- sub foo {
- # start of foo tag
- }
-
- sub foo_ {
- # end of foo tag
- }
- }
-
-=head1 DESCRIPTION
-
-Each time an element starts, a sub by that name in the package specified
-by the Pkg option is called with the same parameters that the Start
-handler gets called with.
-
-Each time an element ends, a sub with that name appended with an underscore
-("_"), is called with the same parameters that the End handler gets called
-with.
-
-Nothing special is returned by parse.
-
-=cut \ No newline at end of file
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm
deleted file mode 100644
index c0e69f131ce..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm
+++ /dev/null
@@ -1,90 +0,0 @@
-# $Id: Tree.pm,v 1.2 2003/07/31 07:54:51 matt Exp $
-
-package XML::Parser::Style::Tree;
-$XML::Parser::Built_In_Styles{Tree} = 1;
-
-sub Init {
- my $expat = shift;
- $expat->{Lists} = [];
- $expat->{Curlist} = $expat->{Tree} = [];
-}
-
-sub Start {
- my $expat = shift;
- my $tag = shift;
- my $newlist = [ { @_ } ];
- push @{ $expat->{Lists} }, $expat->{Curlist};
- push @{ $expat->{Curlist} }, $tag => $newlist;
- $expat->{Curlist} = $newlist;
-}
-
-sub End {
- my $expat = shift;
- my $tag = shift;
- $expat->{Curlist} = pop @{ $expat->{Lists} };
-}
-
-sub Char {
- my $expat = shift;
- my $text = shift;
- my $clist = $expat->{Curlist};
- my $pos = $#$clist;
-
- if ($pos > 0 and $clist->[$pos - 1] eq '0') {
- $clist->[$pos] .= $text;
- } else {
- push @$clist, 0 => $text;
- }
-}
-
-sub Final {
- my $expat = shift;
- delete $expat->{Curlist};
- delete $expat->{Lists};
- $expat->{Tree};
-}
-
-1;
-__END__
-
-=head1 NAME
-
-XML::Parser::Style::Tree
-
-=head1 SYNOPSIS
-
- use XML::Parser;
- my $p = XML::Parser->new(Style => 'Tree');
- my $tree = $p->parsefile('foo.xml');
-
-=head1 DESCRIPTION
-
-This module implements XML::Parser's Tree style parser.
-
-When parsing a document, C<parse()> will return a parse tree for the
-document. Each node in the tree
-takes the form of a tag, content pair. Text nodes are represented with
-a pseudo-tag of "0" and the string that is their content. For elements,
-the content is an array reference. The first item in the array is a
-(possibly empty) hash reference containing attributes. The remainder of
-the array is a sequence of tag-content pairs representing the content
-of the element.
-
-So for example the result of parsing:
-
- <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo>
-
-would be:
- Tag Content
- ==================================================================
- [foo, [{}, head, [{id => "a"}, 0, "Hello ", em, [{}, 0, "there"]],
- bar, [ {}, 0, "Howdy", ref, [{}]],
- 0, "do"
- ]
- ]
-
-The root document "foo", has 3 children: a "head" element, a "bar"
-element and the text "do". After the empty attribute hash, these are
-represented in it's contents by 3 tag-content pairs.
-
-=cut
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/.packlist
deleted file mode 100644
index cc4b4bb6f51..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/.packlist
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Alias.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/Alias.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/Alias.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/Alias.dll
deleted file mode 100755
index 941eba62d8d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Alias/Alias.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Archive/Zip/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Archive/Zip/.packlist
deleted file mode 100644
index 5fa52914d08..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Archive/Zip/.packlist
+++ /dev/null
@@ -1,14 +0,0 @@
-/usr/bin/crc32
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/Archive.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/BufferedFileHandle.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/DirectoryMember.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/FAQ.pod
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/FileMember.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/Member.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/MemberRead.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/MockFileHandle.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/NewFileMember.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/StringMember.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/Tree.pm
-/usr/lib/perl5/vendor_perl/5.10/Archive/Zip/ZipFileMember.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/.packlist
deleted file mode 100644
index e485e9a9d9e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/.packlist
+++ /dev/null
@@ -1,15 +0,0 @@
-/usr/bin/cpan
-/usr/lib/perl5/vendor_perl/5.10/CPAN.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/API/HOWTO.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Admin.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Debug.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/DeferedCode.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/FirstTime.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/HandleConfig.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Kwalify.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Kwalify/distroprefs.dd
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Kwalify/distroprefs.yml
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Nox.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Queue.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Tarzip.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Version.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/Reporter/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/Reporter/.packlist
deleted file mode 100644
index c85319ac1a9..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/CPAN/Reporter/.packlist
+++ /dev/null
@@ -1,10 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter.pod
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/API.pod
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/Config.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/Config.pod
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/FAQ.pod
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/History.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/History.pod
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/PrereqCheck.pm
-/usr/lib/perl5/vendor_perl/5.10/CPAN/Reporter/PrereqCheck.pod
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/.packlist
deleted file mode 100644
index d901a1c4fbd..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/.packlist
+++ /dev/null
@@ -1,3 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Bzip2.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/Bzip2.dll
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/autosplit.ix
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/Bzip2.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/Bzip2.dll
deleted file mode 100755
index c8c5e4e5328..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/Bzip2.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/autosplit.ix
deleted file mode 100644
index ce4be759eaf..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Bzip2/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for blib/lib/Compress/Bzip2.pm
-# (file acts as timestamp)
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/.packlist
deleted file mode 100644
index 334d6210b18..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/.packlist
+++ /dev/null
@@ -1,3 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Compress/Raw/Bzip2.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/Bzip2.dll
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/autosplit.ix
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/Bzip2.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/Bzip2.dll
deleted file mode 100755
index 025e0a00fd7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/Bzip2.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/autosplit.ix
deleted file mode 100644
index 5a2274f3bcc..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Compress/Raw/Bzip2/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for blib/lib/Compress/Raw/Bzip2.pm
-# (file acts as timestamp)
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Config/Tiny/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Config/Tiny/.packlist
deleted file mode 100644
index de09e206ebb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Config/Tiny/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/Config/Tiny.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/.packlist
deleted file mode 100644
index 80526e3ad66..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/.packlist
+++ /dev/null
@@ -1,11 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Cwd.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Cygwin.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Epoc.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Functions.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Mac.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/OS2.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Unix.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/VMS.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/File/Spec/Win32.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/Cwd.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/Cwd.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/Cwd.dll
deleted file mode 100755
index 59be6734617..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cwd/Cwd.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Devel/Symdump/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Devel/Symdump/.packlist
deleted file mode 100644
index 378df7e5195..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Devel/Symdump/.packlist
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/Devel/Symdump.pm
-/usr/lib/perl5/vendor_perl/5.10/Devel/Symdump/Export.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/.packlist
deleted file mode 100644
index 2c58e22f960..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/.packlist
+++ /dev/null
@@ -1,3 +0,0 @@
-/usr/bin/shasum
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Digest/SHA.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll
deleted file mode 100755
index 188510ef8e0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Digest/SHA/SHA.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Copy/Recursive/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Copy/Recursive/.packlist
deleted file mode 100644
index 1e67ef6f222..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Copy/Recursive/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/File/Copy/Recursive.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/HomeDir/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/HomeDir/.packlist
deleted file mode 100644
index f9a14ebbec3..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/HomeDir/.packlist
+++ /dev/null
@@ -1,6 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/File/HomeDir.pm
-/usr/lib/perl5/vendor_perl/5.10/File/HomeDir/Darwin.pm
-/usr/lib/perl5/vendor_perl/5.10/File/HomeDir/Driver.pm
-/usr/lib/perl5/vendor_perl/5.10/File/HomeDir/MacOS9.pm
-/usr/lib/perl5/vendor_perl/5.10/File/HomeDir/Unix.pm
-/usr/lib/perl5/vendor_perl/5.10/File/HomeDir/Windows.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Temp/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Temp/.packlist
deleted file mode 100644
index 3ee277acedb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/Temp/.packlist
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/File/._Temp.pm
-/usr/lib/perl5/vendor_perl/5.10/File/Temp.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/pushd/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/pushd/.packlist
deleted file mode 100644
index 54e4f7f3a0d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/File/pushd/.packlist
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/File/pushd.pm
-/usr/lib/perl5/vendor_perl/5.10/File/pushd.pod
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/.packlist
deleted file mode 100644
index 536c184838a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/.packlist
+++ /dev/null
@@ -1,8 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Entities.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Filter.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/HeadParser.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/LinkExtor.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/Parser.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/PullParser.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/HTML/TokeParser.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/Parser.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/Parser.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/Parser.dll
deleted file mode 100755
index 822da84225d..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Parser/Parser.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Tagset/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Tagset/.packlist
deleted file mode 100644
index da214b4a7a1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/HTML/Tagset/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/HTML/Tagset.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/CaptureOutput/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/CaptureOutput/.packlist
deleted file mode 100644
index 94734507600..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/CaptureOutput/.packlist
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/IO/CaptureOutput.pm
-/usr/lib/perl5/vendor_perl/5.10/IO/CaptureOutput.pod
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/Compress/Bzip2/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/Compress/Bzip2/.packlist
deleted file mode 100644
index 53609083bfd..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/Compress/Bzip2/.packlist
+++ /dev/null
@@ -1,4 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/IO/Compress/Adapter/Bzip2.pm
-/usr/lib/perl5/vendor_perl/5.10/IO/Compress/Bzip2.pm
-/usr/lib/perl5/vendor_perl/5.10/IO/Uncompress/Adapter/Bunzip2.pm
-/usr/lib/perl5/vendor_perl/5.10/IO/Uncompress/Bunzip2.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/String/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/String/.packlist
deleted file mode 100644
index 0183b8af891..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IO/String/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/IO/String.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IPC/Run3/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IPC/Run3/.packlist
deleted file mode 100644
index 9eaa5a1b6c7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/IPC/Run3/.packlist
+++ /dev/null
@@ -1,6 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/IPC/Run3.pm
-/usr/lib/perl5/vendor_perl/5.10/IPC/Run3/ProfArrayBuffer.pm
-/usr/lib/perl5/vendor_perl/5.10/IPC/Run3/ProfLogReader.pm
-/usr/lib/perl5/vendor_perl/5.10/IPC/Run3/ProfLogger.pm
-/usr/lib/perl5/vendor_perl/5.10/IPC/Run3/ProfPP.pm
-/usr/lib/perl5/vendor_perl/5.10/IPC/Run3/ProfReporter.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/LWP/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/LWP/.packlist
deleted file mode 100644
index b285259ba3b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/LWP/.packlist
+++ /dev/null
@@ -1,54 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/Bundle/LWP.pm
-/usr/lib/perl5/vendor_perl/5.10/File/Listing.pm
-/usr/lib/perl5/vendor_perl/5.10/HTML/Form.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Cookies.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Cookies/Microsoft.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Cookies/Netscape.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Daemon.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Date.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Headers.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Headers/Auth.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Headers/ETag.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Headers/Util.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Message.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Negotiate.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Request.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Request/Common.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Response.pm
-/usr/lib/perl5/vendor_perl/5.10/HTTP/Status.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Authen/Basic.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Authen/Digest.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Authen/Ntlm.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/ConnCache.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Debug.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/DebugFile.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/MediaTypes.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/MemberMixin.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/GHTTP.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/cpan.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/data.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/file.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/ftp.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/gopher.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/http.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/http10.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/https.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/https10.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/loopback.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/mailto.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/nntp.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Protocol/nogo.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/RobotUA.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/Simple.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/UserAgent.pm
-/usr/lib/perl5/vendor_perl/5.10/LWP/media.types
-/usr/lib/perl5/vendor_perl/5.10/Net/HTTP.pm
-/usr/lib/perl5/vendor_perl/5.10/Net/HTTP/Methods.pm
-/usr/lib/perl5/vendor_perl/5.10/Net/HTTP/NB.pm
-/usr/lib/perl5/vendor_perl/5.10/Net/HTTPS.pm
-/usr/lib/perl5/vendor_perl/5.10/WWW/RobotRules.pm
-/usr/lib/perl5/vendor_perl/5.10/WWW/RobotRules/AnyDBM_File.pm
-/usr/lib/perl5/vendor_perl/5.10/lwpcook.pod
-/usr/lib/perl5/vendor_perl/5.10/lwptut.pod
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/.packlist
deleted file mode 100644
index bc611494199..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/.packlist
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Math/BigInt/FastCalc.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll
deleted file mode 100755
index a1c1538f710..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Math/BigInt/FastCalc/FastCalc.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/ScanDeps/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/ScanDeps/.packlist
deleted file mode 100644
index 3c23dd35ca8..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/ScanDeps/.packlist
+++ /dev/null
@@ -1,3 +0,0 @@
-/usr/bin/scandeps.pl
-/usr/lib/perl5/vendor_perl/5.10/Module/ScanDeps.pm
-/usr/lib/perl5/vendor_perl/5.10/Module/ScanDeps/DataFeed.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/Signature/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/Signature/.packlist
deleted file mode 100644
index 953af516e76..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Module/Signature/.packlist
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/bin/cpansign
-/usr/lib/perl5/vendor_perl/5.10/Module/Signature.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/.packlist
deleted file mode 100644
index ae1661b4792..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/.packlist
+++ /dev/null
@@ -1,50 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/FAQ.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Header.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Nameserver.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Packet.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Question.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/A.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AAAA.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/AFSDB.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CERT.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/CNAME.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/DNAME.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/EID.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/HINFO.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/IPSECKEY.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/ISDN.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/LOC.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MB.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MG.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MINFO.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MR.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/MX.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NAPTR.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NIMLOC.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NS.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NSAP.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/NULL.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/OPT.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PTR.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/PX.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RP.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/RT.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SOA.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SPF.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SRV.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/SSHFP.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TKEY.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TSIG.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/TXT.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/Unknown.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/RR/X25.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Base.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Cygwin.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Recurse.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/UNIX.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Resolver/Win32.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Net/DNS/Update.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/DNS.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/DNS.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/DNS.dll
deleted file mode 100755
index ebde3bdecbb..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/DNS/DNS.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/Telnet/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/Telnet/.packlist
deleted file mode 100644
index dd686633e6e..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Net/Telnet/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/Net/Telnet.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PAR/Dist/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PAR/Dist/.packlist
deleted file mode 100644
index 676970bd63c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PAR/Dist/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/PAR/Dist.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/.packlist
deleted file mode 100644
index e05b710331c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/.packlist
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/PadWalker.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/PadWalker.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/PadWalker.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/PadWalker.dll
deleted file mode 100755
index 94fa5bfd038..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/PadWalker/PadWalker.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Coverage/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Coverage/.packlist
deleted file mode 100644
index df1665484b6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Coverage/.packlist
+++ /dev/null
@@ -1,5 +0,0 @@
-/usr/bin/pod_cover
-/usr/lib/perl5/vendor_perl/5.10/Pod/Coverage.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Coverage/CountParents.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Coverage/ExportOnly.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Coverage/Overloader.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Escapes/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Escapes/.packlist
deleted file mode 100644
index ba223b33326..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Escapes/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/Pod/Escapes.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Simple/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Simple/.packlist
deleted file mode 100644
index 455bc50831a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Pod/Simple/.packlist
+++ /dev/null
@@ -1,31 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple.pod
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/BlackBox.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Checker.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Debug.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/DumpAsText.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/DumpAsXML.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/HTML.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/HTMLBatch.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/HTMLLegacy.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/LinkSection.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Methody.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Progress.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/PullParser.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/PullParserEndToken.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/PullParserStartToken.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/PullParserTextToken.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/PullParserToken.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/RTF.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Search.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/SimpleTree.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Subclassing.pod
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Text.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/TextContent.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/TiedOutFH.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/Transcode.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/TranscodeDumb.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/TranscodeSmart.pm
-/usr/lib/perl5/vendor_perl/5.10/Pod/Simple/XMLOutStream.pm
-/usr/lib/perl5/vendor_perl/5.10/perlpod.pod
-/usr/lib/perl5/vendor_perl/5.10/perlpodspec.pod
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Probe/Perl/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Probe/Perl/.packlist
deleted file mode 100644
index 8884166c6be..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Probe/Perl/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/Probe/Perl.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/.packlist
deleted file mode 100644
index 0b3053d08ec..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/.packlist
+++ /dev/null
@@ -1,7 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killall.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/Killfam.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/ProcessTable/Process.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Proc/example.pl
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/Process/autosplit.ix
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/ProcessTable.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/Process/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/Process/autosplit.ix
deleted file mode 100644
index bf94c0912ca..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/Process/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for ../blib/lib/Proc/ProcessTable/Process.pm
-# (file acts as timestamp)
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/ProcessTable.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/ProcessTable.dll
deleted file mode 100755
index e7fa59d11f5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Proc/ProcessTable/ProcessTable.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Tee/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Tee/.packlist
deleted file mode 100644
index 3b3b84d9a92..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Tee/.packlist
+++ /dev/null
@@ -1,4 +0,0 @@
-/usr/bin/ptee
-/usr/lib/perl5/vendor_perl/5.10/Tee.pm
-/usr/lib/perl5/vendor_perl/5.10/Tee.pod
-/usr/lib/perl5/vendor_perl/5.10/auto/Tee/ptee
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/.packlist
deleted file mode 100644
index a82d1eed5ec..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/.packlist
+++ /dev/null
@@ -1,3 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadKey.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/ReadKey.dll
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/autosplit.ix
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/ReadKey.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/ReadKey.dll
deleted file mode 100755
index c470828e220..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/ReadKey.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/autosplit.ix
deleted file mode 100644
index 1f3f099bd2b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadKey/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for blib/lib/Term/ReadKey.pm
-# (file acts as timestamp)
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/.packlist
deleted file mode 100644
index 1ac941addda..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/.packlist
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/Term/ReadLine/Perl.pm
-/usr/lib/perl5/vendor_perl/5.10/Term/ReadLine/readline.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/.packlist
deleted file mode 100644
index 30df7ed3a81..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/.packlist
+++ /dev/null
@@ -1,4 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Term/ReadLine/Gnu/XS.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/Gnu.dll
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/XS/autosplit.ix
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/Gnu.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/Gnu.dll
deleted file mode 100755
index 7be6a1f36e6..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/Gnu.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/XS/autosplit.ix b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/XS/autosplit.ix
deleted file mode 100644
index 8b9f60db04f..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Term/ReadLine/Gnu/XS/autosplit.ix
+++ /dev/null
@@ -1,3 +0,0 @@
-# Index created by AutoSplit for blib/lib/Term/ReadLine/Gnu/XS.pm
-# (file acts as timestamp)
-1;
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/.packlist
deleted file mode 100644
index 2812e87c8d4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/Test/Pod.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/Coverage/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/Coverage/.packlist
deleted file mode 100644
index 3ea96169b81..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Pod/Coverage/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/Test/Pod/Coverage.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Reporter/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Reporter/.packlist
deleted file mode 100644
index 60a1fd2c5f7..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Test/Reporter/.packlist
+++ /dev/null
@@ -1,8 +0,0 @@
-/usr/bin/cpantest
-/usr/lib/perl5/vendor_perl/5.10/Test/Reporter.pm
-/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport.pm
-/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport/File.pm
-/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport/HTTPGateway.pm
-/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport/Mail/Send.pm
-/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport/Net/SMTP.pm
-/usr/lib/perl5/vendor_perl/5.10/Test/Reporter/Transport/Net/SMTP/TLS.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/URI/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/URI/.packlist
deleted file mode 100644
index 703246950b1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/URI/.packlist
+++ /dev/null
@@ -1,49 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/URI.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/Escape.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/Heuristic.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/QueryParam.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/Split.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/URL.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/WithBase.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/_foreign.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/_generic.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/_ldap.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/_login.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/_query.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/_segment.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/_server.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/_userpass.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/data.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/file.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/file/Base.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/file/FAT.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/file/Mac.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/file/OS2.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/file/QNX.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/file/Unix.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/file/Win32.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/ftp.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/gopher.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/http.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/https.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/ldap.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/ldapi.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/ldaps.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/mailto.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/mms.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/news.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/nntp.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/pop.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/rlogin.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/rsync.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/rtsp.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/rtspu.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/sip.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/sips.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/snews.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/ssh.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/telnet.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/tn3270.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/urn.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/urn/isbn.pm
-/usr/lib/perl5/vendor_perl/5.10/URI/urn/oid.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/.packlist
deleted file mode 100644
index 199cc41357a..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/.packlist
+++ /dev/null
@@ -1,33 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Attr.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Boolean.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/CDATASection.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Comment.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DOM.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Document.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/DocumentFragment.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Dtd.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Element.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/InputCallback.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Literal.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Namespace.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Node.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/NodeList.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Number.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/PI.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Parser.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Reader.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/RelaxNG.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Builder.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Generator.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/SAX/Parser.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Schema.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Text.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/XPathContext.pod
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/LibXML.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/.packlist
deleted file mode 100644
index 27498d344f4..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/.packlist
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/LibXML/Common.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/Common.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/Common.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/Common.dll
deleted file mode 100755
index 85aadc887b0..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/Common/Common.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/LibXML.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/LibXML.dll
deleted file mode 100755
index 53675c19d0b..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/LibXML/LibXML.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/NamespaceSupport/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/NamespaceSupport/.packlist
deleted file mode 100644
index ae6ffd04517..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/NamespaceSupport/.packlist
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/XML/NamespaceSupport.pm
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/.packlist
deleted file mode 100644
index 5f2765f340c..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/.packlist
+++ /dev/null
@@ -1,28 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/Japanese_Encodings.msg
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/README
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/big5.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/euc-kr.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-2.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-3.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-4.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-5.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-7.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-8.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/iso-8859-9.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1250.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/windows-1252.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-jisx0221.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-euc-jp-unicode.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-cp932.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jdk117.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-jisx0221.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Encodings/x-sjis-unicode.enc
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Expat.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/LWPExternEnt.pl
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Debug.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Objects.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Stream.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Subs.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/XML/Parser/Style/Tree.pm
-/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll
deleted file mode 100755
index db0575308b5..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll
+++ /dev/null
Binary files differ
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/SAX/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/SAX/.packlist
deleted file mode 100644
index af1203abb80..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/SAX/.packlist
+++ /dev/null
@@ -1,23 +0,0 @@
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/Base.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/DocumentLocator.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/Exception.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/Intro.pod
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/ParserFactory.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/DTDDecls.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/DebugHandler.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/DocType.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/EncodingDetect.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Exception.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/NoUnicodeExt.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Productions.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader/NoUnicodeExt.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader/Stream.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader/String.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader/URI.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/Reader/UnicodeExt.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/UnicodeExt.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/PurePerl/XMLDecl.pm
-/usr/lib/perl5/vendor_perl/5.10/XML/SAX/placeholder.pl
diff --git a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/YAML/.packlist b/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/YAML/.packlist
deleted file mode 100644
index 90c520e21f1..00000000000
--- a/chromium/third_party/cygwin/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/YAML/.packlist
+++ /dev/null
@@ -1,13 +0,0 @@
-/usr/bin/ysh
-/usr/lib/perl5/vendor_perl/5.10/Test/YAML.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML/Base.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML/Dumper.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML/Dumper/Base.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML/Error.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML/Loader.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML/Loader/Base.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML/Marshall.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML/Node.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML/Tag.pm
-/usr/lib/perl5/vendor_perl/5.10/YAML/Types.pm